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,219 @@
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
+ # Customizes the payer experience during the approval process for the payment
8
+ # with PayPal. Note: Partners and Marketplaces might configure brand_name and
9
+ # shipping_preference during partner account setup, which overrides the
10
+ # request values.
11
+ class OrderApplicationContext < BaseModel
12
+ SKIP = Object.new
13
+ private_constant :SKIP
14
+
15
+ # DEPRECATED. The label that overrides the business name in the PayPal
16
+ # account on the PayPal site. The fields in `application_context` are now
17
+ # available in the `experience_context` object under the `payment_source`
18
+ # which supports them (eg.
19
+ # `payment_source.paypal.experience_context.brand_name`). Please specify
20
+ # this field in the `experience_context` object instead of the
21
+ # `application_context` object.
22
+ # @return [String]
23
+ attr_accessor :brand_name
24
+
25
+ # DEPRECATED. The BCP 47-formatted locale of pages that the PayPal payment
26
+ # experience shows. PayPal supports a five-character code. For example,
27
+ # `da-DK`, `he-IL`, `id-ID`, `ja-JP`, `no-NO`, `pt-BR`, `ru-RU`, `sv-SE`,
28
+ # `th-TH`, `zh-CN`, `zh-HK`, or `zh-TW`. The fields in
29
+ # `application_context` are now available in the `experience_context` object
30
+ # under the `payment_source` which supports them (eg.
31
+ # `payment_source.paypal.experience_context.locale`). Please specify this
32
+ # field in the `experience_context` object instead of the
33
+ # `application_context` object.
34
+ # @return [String]
35
+ attr_accessor :locale
36
+
37
+ # DEPRECATED. DEPRECATED. The type of landing page to show on the PayPal
38
+ # site for customer checkout. The fields in `application_context` are now
39
+ # available in the `experience_context` object under the `payment_source`
40
+ # which supports them (eg.
41
+ # `payment_source.paypal.experience_context.landing_page`). Please specify
42
+ # this field in the `experience_context` object instead of the
43
+ # `application_context` object.
44
+ # @return [OrderApplicationContextLandingPage]
45
+ attr_accessor :landing_page
46
+
47
+ # DEPRECATED. DEPRECATED. The shipping preference: Displays the shipping
48
+ # address to the customer. Enables the customer to choose an address on the
49
+ # PayPal site. Restricts the customer from changing the address during the
50
+ # payment-approval process. . The fields in `application_context` are now
51
+ # available in the `experience_context` object under the `payment_source`
52
+ # which supports them (eg.
53
+ # `payment_source.paypal.experience_context.shipping_preference`). Please
54
+ # specify this field in the `experience_context` object instead of the
55
+ # `application_context` object.
56
+ # @return [OrderApplicationContextShippingPreference]
57
+ attr_accessor :shipping_preference
58
+
59
+ # DEPRECATED. Configures a Continue or Pay Now checkout flow. The fields in
60
+ # `application_context` are now available in the `experience_context` object
61
+ # under the `payment_source` which supports them (eg.
62
+ # `payment_source.paypal.experience_context.user_action`). Please specify
63
+ # this field in the `experience_context` object instead of the
64
+ # `application_context` object.
65
+ # @return [OrderApplicationContextUserAction]
66
+ attr_accessor :user_action
67
+
68
+ # DEPRECATED. The customer and merchant payment preferences. The fields in
69
+ # `application_context` are now available in the `experience_context` object
70
+ # under the `payment_source` which supports them (eg.
71
+ # `payment_source.paypal.experience_context.payment_method_selected`).
72
+ # Please specify this field in the `experience_context` object instead of
73
+ # the `application_context` object..
74
+ # @return [PaymentMethodPreference]
75
+ attr_accessor :payment_method
76
+
77
+ # DEPRECATED. The URL where the customer is redirected after the customer
78
+ # approves the payment. The fields in `application_context` are now
79
+ # available in the `experience_context` object under the `payment_source`
80
+ # which supports them (eg.
81
+ # `payment_source.paypal.experience_context.return_url`). Please specify
82
+ # this field in the `experience_context` object instead of the
83
+ # `application_context` object.
84
+ # @return [String]
85
+ attr_accessor :return_url
86
+
87
+ # DEPRECATED. The URL where the customer is redirected after the customer
88
+ # cancels the payment. The fields in `application_context` are now available
89
+ # in the `experience_context` object under the `payment_source` which
90
+ # supports them (eg. `payment_source.paypal.experience_context.cancel_url`).
91
+ # Please specify this field in the `experience_context` object instead of
92
+ # the `application_context` object.
93
+ # @return [String]
94
+ attr_accessor :cancel_url
95
+
96
+ # DEPRECATED. Provides additional details to process a payment using a
97
+ # `payment_source` that has been stored or is intended to be stored (also
98
+ # referred to as stored_credential or card-on-file). Parameter
99
+ # compatibility: `payment_type=ONE_TIME` is compatible only with
100
+ # `payment_initiator=CUSTOMER`. `usage=FIRST` is compatible only with
101
+ # `payment_initiator=CUSTOMER`. `previous_transaction_reference` or
102
+ # `previous_network_transaction_reference` is compatible only with
103
+ # `payment_initiator=MERCHANT`. Only one of the parameters -
104
+ # `previous_transaction_reference` and
105
+ # `previous_network_transaction_reference` - can be present in the request.
106
+ # . The fields in `stored_payment_source` are now available in the
107
+ # `stored_credential` object under the `payment_source` which supports them
108
+ # (eg. `payment_source.card.stored_credential.payment_initiator`). Please
109
+ # specify this field in the `payment_source` object instead of the
110
+ # `application_context` object.
111
+ # @return [StoredPaymentSource]
112
+ attr_accessor :stored_payment_source
113
+
114
+ # A mapping from model property names to API property names.
115
+ def self.names
116
+ @_hash = {} if @_hash.nil?
117
+ @_hash['brand_name'] = 'brand_name'
118
+ @_hash['locale'] = 'locale'
119
+ @_hash['landing_page'] = 'landing_page'
120
+ @_hash['shipping_preference'] = 'shipping_preference'
121
+ @_hash['user_action'] = 'user_action'
122
+ @_hash['payment_method'] = 'payment_method'
123
+ @_hash['return_url'] = 'return_url'
124
+ @_hash['cancel_url'] = 'cancel_url'
125
+ @_hash['stored_payment_source'] = 'stored_payment_source'
126
+ @_hash
127
+ end
128
+
129
+ # An array for optional fields
130
+ def self.optionals
131
+ %w[
132
+ brand_name
133
+ locale
134
+ landing_page
135
+ shipping_preference
136
+ user_action
137
+ payment_method
138
+ return_url
139
+ cancel_url
140
+ stored_payment_source
141
+ ]
142
+ end
143
+
144
+ # An array for nullable fields
145
+ def self.nullables
146
+ []
147
+ end
148
+
149
+ def initialize(
150
+ brand_name: SKIP, locale: SKIP,
151
+ landing_page: OrderApplicationContextLandingPage::NO_PREFERENCE,
152
+ shipping_preference: OrderApplicationContextShippingPreference::GET_FROM_FILE,
153
+ user_action: OrderApplicationContextUserAction::CONTINUE,
154
+ payment_method: SKIP, return_url: SKIP, cancel_url: SKIP,
155
+ stored_payment_source: SKIP
156
+ )
157
+ @brand_name = brand_name unless brand_name == SKIP
158
+ @locale = locale unless locale == SKIP
159
+ @landing_page = landing_page unless landing_page == SKIP
160
+ @shipping_preference = shipping_preference unless shipping_preference == SKIP
161
+ @user_action = user_action unless user_action == SKIP
162
+ @payment_method = payment_method unless payment_method == SKIP
163
+ @return_url = return_url unless return_url == SKIP
164
+ @cancel_url = cancel_url unless cancel_url == SKIP
165
+ @stored_payment_source = stored_payment_source unless stored_payment_source == SKIP
166
+ end
167
+
168
+ # Creates an instance of the object from a hash.
169
+ def self.from_hash(hash)
170
+ return nil unless hash
171
+
172
+ # Extract variables from the hash.
173
+ brand_name = hash.key?('brand_name') ? hash['brand_name'] : SKIP
174
+ locale = hash.key?('locale') ? hash['locale'] : SKIP
175
+ landing_page =
176
+ hash['landing_page'] ||= OrderApplicationContextLandingPage::NO_PREFERENCE
177
+ shipping_preference =
178
+ hash['shipping_preference'] ||= OrderApplicationContextShippingPreference::GET_FROM_FILE
179
+ user_action =
180
+ hash['user_action'] ||= OrderApplicationContextUserAction::CONTINUE
181
+ payment_method = PaymentMethodPreference.from_hash(hash['payment_method']) if
182
+ hash['payment_method']
183
+ return_url = hash.key?('return_url') ? hash['return_url'] : SKIP
184
+ cancel_url = hash.key?('cancel_url') ? hash['cancel_url'] : SKIP
185
+ stored_payment_source = StoredPaymentSource.from_hash(hash['stored_payment_source']) if
186
+ hash['stored_payment_source']
187
+
188
+ # Create object from extracted values.
189
+ OrderApplicationContext.new(brand_name: brand_name,
190
+ locale: locale,
191
+ landing_page: landing_page,
192
+ shipping_preference: shipping_preference,
193
+ user_action: user_action,
194
+ payment_method: payment_method,
195
+ return_url: return_url,
196
+ cancel_url: cancel_url,
197
+ stored_payment_source: stored_payment_source)
198
+ end
199
+
200
+ # Provides a human-readable string representation of the object.
201
+ def to_s
202
+ class_name = self.class.name.split('::').last
203
+ "<#{class_name} brand_name: #{@brand_name}, locale: #{@locale}, landing_page:"\
204
+ " #{@landing_page}, shipping_preference: #{@shipping_preference}, user_action:"\
205
+ " #{@user_action}, payment_method: #{@payment_method}, return_url: #{@return_url},"\
206
+ " cancel_url: #{@cancel_url}, stored_payment_source: #{@stored_payment_source}>"
207
+ end
208
+
209
+ # Provides a debugging-friendly string with detailed object information.
210
+ def inspect
211
+ class_name = self.class.name.split('::').last
212
+ "<#{class_name} brand_name: #{@brand_name.inspect}, locale: #{@locale.inspect},"\
213
+ " landing_page: #{@landing_page.inspect}, shipping_preference:"\
214
+ " #{@shipping_preference.inspect}, user_action: #{@user_action.inspect}, payment_method:"\
215
+ " #{@payment_method.inspect}, return_url: #{@return_url.inspect}, cancel_url:"\
216
+ " #{@cancel_url.inspect}, stored_payment_source: #{@stored_payment_source.inspect}>"
217
+ end
218
+ end
219
+ end
@@ -0,0 +1,53 @@
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
+ # DEPRECATED. DEPRECATED. The type of landing page to show on the PayPal site
8
+ # for customer checkout. The fields in `application_context` are now
9
+ # available in the `experience_context` object under the `payment_source`
10
+ # which supports them (eg.
11
+ # `payment_source.paypal.experience_context.landing_page`). Please specify
12
+ # this field in the `experience_context` object instead of the
13
+ # `application_context` object.
14
+ class OrderApplicationContextLandingPage
15
+ ORDER_APPLICATION_CONTEXT_LANDING_PAGE = [
16
+ # When the customer clicks PayPal Checkout, the customer is redirected to
17
+ # a page to log in to PayPal and approve the payment.
18
+ LOGIN = 'LOGIN'.freeze,
19
+
20
+ # When the customer clicks PayPal Checkout, the customer is redirected to
21
+ # a page to enter credit or debit card and other relevant billing
22
+ # information required to complete the purchase.
23
+ BILLING = 'BILLING'.freeze,
24
+
25
+ # When the customer clicks PayPal Checkout, the customer is redirected to
26
+ # either a page to log in to PayPal and approve the payment or to a page
27
+ # to enter credit or debit card and other relevant billing information
28
+ # required to complete the purchase, depending on their previous
29
+ # interaction with PayPal.
30
+ NO_PREFERENCE = 'NO_PREFERENCE'.freeze
31
+ ].freeze
32
+
33
+ def self.validate(value)
34
+ return false if value.nil?
35
+
36
+ true
37
+ end
38
+
39
+ def self.from_value(value, default_value = LOGIN)
40
+ return default_value if value.nil?
41
+
42
+ str = value.to_s.strip
43
+
44
+ case str.downcase
45
+ when 'login' then LOGIN
46
+ when 'billing' then BILLING
47
+ when 'no_preference' then NO_PREFERENCE
48
+ else
49
+ default_value
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,50 @@
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
+ # DEPRECATED. DEPRECATED. The shipping preference: Displays the shipping
8
+ # address to the customer. Enables the customer to choose an address on the
9
+ # PayPal site. Restricts the customer from changing the address during the
10
+ # payment-approval process. . The fields in `application_context` are now
11
+ # available in the `experience_context` object under the `payment_source`
12
+ # which supports them (eg.
13
+ # `payment_source.paypal.experience_context.shipping_preference`). Please
14
+ # specify this field in the `experience_context` object instead of the
15
+ # `application_context` object.
16
+ class OrderApplicationContextShippingPreference
17
+ ORDER_APPLICATION_CONTEXT_SHIPPING_PREFERENCE = [
18
+ # Use the customer-provided shipping address on the PayPal site.
19
+ GET_FROM_FILE = 'GET_FROM_FILE'.freeze,
20
+
21
+ # Redact the shipping address from the PayPal site. Recommended for
22
+ # digital goods.
23
+ NO_SHIPPING = 'NO_SHIPPING'.freeze,
24
+
25
+ # Use the merchant-provided address. The customer cannot change this
26
+ # address on the PayPal site.
27
+ SET_PROVIDED_ADDRESS = 'SET_PROVIDED_ADDRESS'.freeze
28
+ ].freeze
29
+
30
+ def self.validate(value)
31
+ return false if value.nil?
32
+
33
+ true
34
+ end
35
+
36
+ def self.from_value(value, default_value = GET_FROM_FILE)
37
+ return default_value if value.nil?
38
+
39
+ str = value.to_s.strip
40
+
41
+ case str.downcase
42
+ when 'get_from_file' then GET_FROM_FILE
43
+ when 'no_shipping' then NO_SHIPPING
44
+ when 'set_provided_address' then SET_PROVIDED_ADDRESS
45
+ else
46
+ default_value
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,47 @@
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
+ # DEPRECATED. Configures a Continue or Pay Now checkout flow. The fields in
8
+ # `application_context` are now available in the `experience_context` object
9
+ # under the `payment_source` which supports them (eg.
10
+ # `payment_source.paypal.experience_context.user_action`). Please specify this
11
+ # field in the `experience_context` object instead of the
12
+ # `application_context` object.
13
+ class OrderApplicationContextUserAction
14
+ ORDER_APPLICATION_CONTEXT_USER_ACTION = [
15
+ # After you redirect the customer to the PayPal payment page, a Continue
16
+ # button appears. Use this option when the final amount is not known when
17
+ # the checkout flow is initiated and you want to redirect the customer to
18
+ # the merchant page without processing the payment.
19
+ CONTINUE = 'CONTINUE'.freeze,
20
+
21
+ # After you redirect the customer to the PayPal payment page, a Pay Now
22
+ # button appears. Use this option when the final amount is known when the
23
+ # checkout is initiated and you want to process the payment immediately
24
+ # when the customer clicks Pay Now.
25
+ PAY_NOW = 'PAY_NOW'.freeze
26
+ ].freeze
27
+
28
+ def self.validate(value)
29
+ return false if value.nil?
30
+
31
+ true
32
+ end
33
+
34
+ def self.from_value(value, default_value = CONTINUE)
35
+ return default_value if value.nil?
36
+
37
+ str = value.to_s.strip
38
+
39
+ case str.downcase
40
+ when 'continue' then CONTINUE
41
+ when 'pay_now' then PAY_NOW
42
+ else
43
+ default_value
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,63 @@
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 authorization of an order request.
8
+ class OrderAuthorizeRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The payment source definition.
13
+ # @return [OrderAuthorizeRequestPaymentSource]
14
+ attr_accessor :payment_source
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['payment_source'] = 'payment_source'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ payment_source
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(payment_source: SKIP)
36
+ @payment_source = payment_source unless payment_source == SKIP
37
+ end
38
+
39
+ # Creates an instance of the object from a hash.
40
+ def self.from_hash(hash)
41
+ return nil unless hash
42
+
43
+ # Extract variables from the hash.
44
+ payment_source = OrderAuthorizeRequestPaymentSource.from_hash(hash['payment_source']) if
45
+ hash['payment_source']
46
+
47
+ # Create object from extracted values.
48
+ OrderAuthorizeRequest.new(payment_source: payment_source)
49
+ end
50
+
51
+ # Provides a human-readable string representation of the object.
52
+ def to_s
53
+ class_name = self.class.name.split('::').last
54
+ "<#{class_name} payment_source: #{@payment_source}>"
55
+ end
56
+
57
+ # Provides a debugging-friendly string with detailed object information.
58
+ def inspect
59
+ class_name = self.class.name.split('::').last
60
+ "<#{class_name} payment_source: #{@payment_source.inspect}>"
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,115 @@
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 payment source definition.
8
+ class OrderAuthorizeRequestPaymentSource < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The payment card to use to fund a payment. Can be a credit or debit card.
13
+ # Note: Passing card number, cvv and expiry directly via the API requires
14
+ # PCI SAQ D compliance. *PayPal offers a mechanism by which you do not have
15
+ # to take on the PCI SAQ D burden by using hosted fields - refer to this
16
+ # Integration Guide*.
17
+ # @return [CardRequest]
18
+ attr_accessor :card
19
+
20
+ # The tokenized payment source to fund a payment.
21
+ # @return [Token]
22
+ attr_accessor :token
23
+
24
+ # A resource that identifies a PayPal Wallet is used for payment.
25
+ # @return [PaypalWallet]
26
+ attr_accessor :paypal
27
+
28
+ # Information needed to pay using ApplePay.
29
+ # @return [ApplePayRequest]
30
+ attr_accessor :apple_pay
31
+
32
+ # Information needed to pay using Google Pay.
33
+ # @return [GooglePayRequest]
34
+ attr_accessor :google_pay
35
+
36
+ # Information needed to pay using Venmo.
37
+ # @return [VenmoWalletRequest]
38
+ attr_accessor :venmo
39
+
40
+ # A mapping from model property names to API property names.
41
+ def self.names
42
+ @_hash = {} if @_hash.nil?
43
+ @_hash['card'] = 'card'
44
+ @_hash['token'] = 'token'
45
+ @_hash['paypal'] = 'paypal'
46
+ @_hash['apple_pay'] = 'apple_pay'
47
+ @_hash['google_pay'] = 'google_pay'
48
+ @_hash['venmo'] = 'venmo'
49
+ @_hash
50
+ end
51
+
52
+ # An array for optional fields
53
+ def self.optionals
54
+ %w[
55
+ card
56
+ token
57
+ paypal
58
+ apple_pay
59
+ google_pay
60
+ venmo
61
+ ]
62
+ end
63
+
64
+ # An array for nullable fields
65
+ def self.nullables
66
+ []
67
+ end
68
+
69
+ def initialize(card: SKIP, token: SKIP, paypal: SKIP, apple_pay: SKIP,
70
+ google_pay: SKIP, venmo: SKIP)
71
+ @card = card unless card == SKIP
72
+ @token = token unless token == SKIP
73
+ @paypal = paypal unless paypal == SKIP
74
+ @apple_pay = apple_pay unless apple_pay == SKIP
75
+ @google_pay = google_pay unless google_pay == SKIP
76
+ @venmo = venmo unless venmo == 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
+ card = CardRequest.from_hash(hash['card']) if hash['card']
85
+ token = Token.from_hash(hash['token']) if hash['token']
86
+ paypal = PaypalWallet.from_hash(hash['paypal']) if hash['paypal']
87
+ apple_pay = ApplePayRequest.from_hash(hash['apple_pay']) if hash['apple_pay']
88
+ google_pay = GooglePayRequest.from_hash(hash['google_pay']) if hash['google_pay']
89
+ venmo = VenmoWalletRequest.from_hash(hash['venmo']) if hash['venmo']
90
+
91
+ # Create object from extracted values.
92
+ OrderAuthorizeRequestPaymentSource.new(card: card,
93
+ token: token,
94
+ paypal: paypal,
95
+ apple_pay: apple_pay,
96
+ google_pay: google_pay,
97
+ venmo: venmo)
98
+ end
99
+
100
+ # Provides a human-readable string representation of the object.
101
+ def to_s
102
+ class_name = self.class.name.split('::').last
103
+ "<#{class_name} card: #{@card}, token: #{@token}, paypal: #{@paypal}, apple_pay:"\
104
+ " #{@apple_pay}, google_pay: #{@google_pay}, venmo: #{@venmo}>"
105
+ end
106
+
107
+ # Provides a debugging-friendly string with detailed object information.
108
+ def inspect
109
+ class_name = self.class.name.split('::').last
110
+ "<#{class_name} card: #{@card.inspect}, token: #{@token.inspect}, paypal:"\
111
+ " #{@paypal.inspect}, apple_pay: #{@apple_pay.inspect}, google_pay: #{@google_pay.inspect},"\
112
+ " venmo: #{@venmo.inspect}>"
113
+ end
114
+ end
115
+ end