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,245 @@
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 purchase unit details. Used to capture required information for the
8
+ # payment contract.
9
+ class PurchaseUnit < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The API caller-provided external ID for the purchase unit. Required for
14
+ # multiple purchase units when you must update the order through `PATCH`. If
15
+ # you omit this value and the order contains only one purchase unit, PayPal
16
+ # sets this value to `default`. Note: If there are multiple purchase units,
17
+ # reference_id is required for each purchase unit.
18
+ # @return [String]
19
+ attr_accessor :reference_id
20
+
21
+ # The total order amount with an optional breakdown that provides details,
22
+ # such as the total item amount, total tax amount, shipping, handling,
23
+ # insurance, and discounts, if any. If you specify `amount.breakdown`, the
24
+ # amount equals `item_total` plus `tax_total` plus `shipping` plus
25
+ # `handling` plus `insurance` minus `shipping_discount` minus discount. The
26
+ # amount must be a positive number. For listed of supported currencies and
27
+ # decimal precision, see the PayPal REST APIs Currency Codes.
28
+ # @return [AmountWithBreakdown]
29
+ attr_accessor :amount
30
+
31
+ # The merchant who receives the funds and fulfills the order. The merchant
32
+ # is also known as the payee.
33
+ # @return [PayeeBase]
34
+ attr_accessor :payee
35
+
36
+ # Any additional payment instructions to be consider during payment
37
+ # processing. This processing instruction is applicable for Capturing an
38
+ # order or Authorizing an Order.
39
+ # @return [PaymentInstruction]
40
+ attr_accessor :payment_instruction
41
+
42
+ # The purchase description.
43
+ # @return [String]
44
+ attr_accessor :description
45
+
46
+ # The API caller-provided external ID. Used to reconcile API
47
+ # caller-initiated transactions with PayPal transactions. Appears in
48
+ # transaction and settlement reports.
49
+ # @return [String]
50
+ attr_accessor :custom_id
51
+
52
+ # The API caller-provided external invoice ID for this order.
53
+ # @return [String]
54
+ attr_accessor :invoice_id
55
+
56
+ # The PayPal-generated ID for the purchase unit. This ID appears in both the
57
+ # payer's transaction history and the emails that the payer receives. In
58
+ # addition, this ID is available in transaction and settlement reports that
59
+ # merchants and API callers can use to reconcile transactions. This ID is
60
+ # only available when an order is saved by calling
61
+ # v2/checkout/orders/id/save.
62
+ # @return [String]
63
+ attr_accessor :id
64
+
65
+ # The payment descriptor on account transactions on the customer's credit
66
+ # card statement, that PayPal sends to processors. The maximum length of the
67
+ # soft descriptor information that you can pass in the API field is 22
68
+ # characters, in the following format:22 - len(PAYPAL * (8)) -
69
+ # len(Descriptor in Payment Receiving Preferences of Merchant account +
70
+ # 1)The PAYPAL prefix uses 8 characters. The soft descriptor supports the
71
+ # following ASCII characters: Alphanumeric characters Dashes Asterisks
72
+ # Periods (.) Spaces For Wallet payments marketplace integrations: The
73
+ # merchant descriptor in the Payment Receiving Preferences must be the
74
+ # marketplace name. You can't use the remaining space to show the customer
75
+ # service number. The remaining spaces can be a combination of seller name
76
+ # and country. For unbranded payments (Direct Card) marketplace
77
+ # integrations, use a combination of the seller name and phone number.
78
+ # @return [String]
79
+ attr_accessor :soft_descriptor
80
+
81
+ # An array of items that the customer purchases from the merchant.
82
+ # @return [Array[Item]]
83
+ attr_accessor :items
84
+
85
+ # The order shipping details.
86
+ # @return [ShippingWithTrackingDetails]
87
+ attr_accessor :shipping
88
+
89
+ # Supplementary data about a payment. This object passes information that
90
+ # can be used to improve risk assessments and processing costs, for example,
91
+ # by providing Level 2 and Level 3 payment data.
92
+ # @return [SupplementaryData]
93
+ attr_accessor :supplementary_data
94
+
95
+ # The collection of payments, or transactions, for a purchase unit in an
96
+ # order. For example, authorized payments, captured payments, and refunds.
97
+ # @return [PaymentCollection]
98
+ attr_accessor :payments
99
+
100
+ # The error reason code and description that are the reason for the most
101
+ # recent order decline.
102
+ # @return [Array[Object]]
103
+ attr_accessor :most_recent_errors
104
+
105
+ # A mapping from model property names to API property names.
106
+ def self.names
107
+ @_hash = {} if @_hash.nil?
108
+ @_hash['reference_id'] = 'reference_id'
109
+ @_hash['amount'] = 'amount'
110
+ @_hash['payee'] = 'payee'
111
+ @_hash['payment_instruction'] = 'payment_instruction'
112
+ @_hash['description'] = 'description'
113
+ @_hash['custom_id'] = 'custom_id'
114
+ @_hash['invoice_id'] = 'invoice_id'
115
+ @_hash['id'] = 'id'
116
+ @_hash['soft_descriptor'] = 'soft_descriptor'
117
+ @_hash['items'] = 'items'
118
+ @_hash['shipping'] = 'shipping'
119
+ @_hash['supplementary_data'] = 'supplementary_data'
120
+ @_hash['payments'] = 'payments'
121
+ @_hash['most_recent_errors'] = 'most_recent_errors'
122
+ @_hash
123
+ end
124
+
125
+ # An array for optional fields
126
+ def self.optionals
127
+ %w[
128
+ reference_id
129
+ amount
130
+ payee
131
+ payment_instruction
132
+ description
133
+ custom_id
134
+ invoice_id
135
+ id
136
+ soft_descriptor
137
+ items
138
+ shipping
139
+ supplementary_data
140
+ payments
141
+ most_recent_errors
142
+ ]
143
+ end
144
+
145
+ # An array for nullable fields
146
+ def self.nullables
147
+ []
148
+ end
149
+
150
+ def initialize(reference_id: SKIP, amount: SKIP, payee: SKIP,
151
+ payment_instruction: SKIP, description: SKIP,
152
+ custom_id: SKIP, invoice_id: SKIP, id: SKIP,
153
+ soft_descriptor: SKIP, items: SKIP, shipping: SKIP,
154
+ supplementary_data: SKIP, payments: SKIP,
155
+ most_recent_errors: SKIP)
156
+ @reference_id = reference_id unless reference_id == SKIP
157
+ @amount = amount unless amount == SKIP
158
+ @payee = payee unless payee == SKIP
159
+ @payment_instruction = payment_instruction unless payment_instruction == SKIP
160
+ @description = description unless description == SKIP
161
+ @custom_id = custom_id unless custom_id == SKIP
162
+ @invoice_id = invoice_id unless invoice_id == SKIP
163
+ @id = id unless id == SKIP
164
+ @soft_descriptor = soft_descriptor unless soft_descriptor == SKIP
165
+ @items = items unless items == SKIP
166
+ @shipping = shipping unless shipping == SKIP
167
+ @supplementary_data = supplementary_data unless supplementary_data == SKIP
168
+ @payments = payments unless payments == SKIP
169
+ @most_recent_errors = most_recent_errors unless most_recent_errors == SKIP
170
+ end
171
+
172
+ # Creates an instance of the object from a hash.
173
+ def self.from_hash(hash)
174
+ return nil unless hash
175
+
176
+ # Extract variables from the hash.
177
+ reference_id = hash.key?('reference_id') ? hash['reference_id'] : SKIP
178
+ amount = AmountWithBreakdown.from_hash(hash['amount']) if hash['amount']
179
+ payee = PayeeBase.from_hash(hash['payee']) if hash['payee']
180
+ payment_instruction = PaymentInstruction.from_hash(hash['payment_instruction']) if
181
+ hash['payment_instruction']
182
+ description = hash.key?('description') ? hash['description'] : SKIP
183
+ custom_id = hash.key?('custom_id') ? hash['custom_id'] : SKIP
184
+ invoice_id = hash.key?('invoice_id') ? hash['invoice_id'] : SKIP
185
+ id = hash.key?('id') ? hash['id'] : SKIP
186
+ soft_descriptor =
187
+ hash.key?('soft_descriptor') ? hash['soft_descriptor'] : SKIP
188
+ # Parameter is an array, so we need to iterate through it
189
+ items = nil
190
+ unless hash['items'].nil?
191
+ items = []
192
+ hash['items'].each do |structure|
193
+ items << (Item.from_hash(structure) if structure)
194
+ end
195
+ end
196
+
197
+ items = SKIP unless hash.key?('items')
198
+ shipping = ShippingWithTrackingDetails.from_hash(hash['shipping']) if hash['shipping']
199
+ supplementary_data = SupplementaryData.from_hash(hash['supplementary_data']) if
200
+ hash['supplementary_data']
201
+ payments = PaymentCollection.from_hash(hash['payments']) if hash['payments']
202
+ most_recent_errors =
203
+ hash.key?('most_recent_errors') ? hash['most_recent_errors'] : SKIP
204
+
205
+ # Create object from extracted values.
206
+ PurchaseUnit.new(reference_id: reference_id,
207
+ amount: amount,
208
+ payee: payee,
209
+ payment_instruction: payment_instruction,
210
+ description: description,
211
+ custom_id: custom_id,
212
+ invoice_id: invoice_id,
213
+ id: id,
214
+ soft_descriptor: soft_descriptor,
215
+ items: items,
216
+ shipping: shipping,
217
+ supplementary_data: supplementary_data,
218
+ payments: payments,
219
+ most_recent_errors: most_recent_errors)
220
+ end
221
+
222
+ # Provides a human-readable string representation of the object.
223
+ def to_s
224
+ class_name = self.class.name.split('::').last
225
+ "<#{class_name} reference_id: #{@reference_id}, amount: #{@amount}, payee: #{@payee},"\
226
+ " payment_instruction: #{@payment_instruction}, description: #{@description}, custom_id:"\
227
+ " #{@custom_id}, invoice_id: #{@invoice_id}, id: #{@id}, soft_descriptor:"\
228
+ " #{@soft_descriptor}, items: #{@items}, shipping: #{@shipping}, supplementary_data:"\
229
+ " #{@supplementary_data}, payments: #{@payments}, most_recent_errors:"\
230
+ " #{@most_recent_errors}>"
231
+ end
232
+
233
+ # Provides a debugging-friendly string with detailed object information.
234
+ def inspect
235
+ class_name = self.class.name.split('::').last
236
+ "<#{class_name} reference_id: #{@reference_id.inspect}, amount: #{@amount.inspect}, payee:"\
237
+ " #{@payee.inspect}, payment_instruction: #{@payment_instruction.inspect}, description:"\
238
+ " #{@description.inspect}, custom_id: #{@custom_id.inspect}, invoice_id:"\
239
+ " #{@invoice_id.inspect}, id: #{@id.inspect}, soft_descriptor: #{@soft_descriptor.inspect},"\
240
+ " items: #{@items.inspect}, shipping: #{@shipping.inspect}, supplementary_data:"\
241
+ " #{@supplementary_data.inspect}, payments: #{@payments.inspect}, most_recent_errors:"\
242
+ " #{@most_recent_errors.inspect}>"
243
+ end
244
+ end
245
+ end
@@ -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
+ # The purchase unit request. Includes required information for the payment
8
+ # contract.
9
+ class PurchaseUnitRequest < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The API caller-provided external ID for the purchase unit. Required for
14
+ # multiple purchase units when you must update the order through `PATCH`. If
15
+ # you omit this value and the order contains only one purchase unit, PayPal
16
+ # sets this value to `default`.
17
+ # @return [String]
18
+ attr_accessor :reference_id
19
+
20
+ # The total order amount with an optional breakdown that provides details,
21
+ # such as the total item amount, total tax amount, shipping, handling,
22
+ # insurance, and discounts, if any. If you specify `amount.breakdown`, the
23
+ # amount equals `item_total` plus `tax_total` plus `shipping` plus
24
+ # `handling` plus `insurance` minus `shipping_discount` minus discount. The
25
+ # amount must be a positive number. For listed of supported currencies and
26
+ # decimal precision, see the PayPal REST APIs Currency Codes.
27
+ # @return [AmountWithBreakdown]
28
+ attr_accessor :amount
29
+
30
+ # The merchant who receives the funds and fulfills the order. The merchant
31
+ # is also known as the payee.
32
+ # @return [PayeeBase]
33
+ attr_accessor :payee
34
+
35
+ # Any additional payment instructions to be consider during payment
36
+ # processing. This processing instruction is applicable for Capturing an
37
+ # order or Authorizing an Order.
38
+ # @return [PaymentInstruction]
39
+ attr_accessor :payment_instruction
40
+
41
+ # This field supports up to 3,000 characters, but any content beyond 127
42
+ # characters (including spaces) will be truncated. The 127 character limit
43
+ # is reflected in the response representation of this field. The purchase
44
+ # description. The maximum length of the character is dependent on the type
45
+ # of characters used. The character length is specified assuming a US ASCII
46
+ # character. Depending on type of character; (e.g. accented character,
47
+ # Japanese characters) the number of characters that that can be specified
48
+ # as input might not equal the permissible max length.
49
+ # @return [String]
50
+ attr_accessor :description
51
+
52
+ # The API caller-provided external ID. Used to reconcile client transactions
53
+ # with PayPal transactions. Appears in transaction and settlement reports
54
+ # but is not visible to the payer.
55
+ # @return [String]
56
+ attr_accessor :custom_id
57
+
58
+ # The API caller-provided external invoice number for this order. Appears in
59
+ # both the payer's transaction history and the emails that the payer
60
+ # receives. invoice_id values are required to be unique within each merchant
61
+ # account by default. Although the uniqueness validation is configurable,
62
+ # disabling this behavior will remove the account's ability to use
63
+ # invoice_id in other APIs as an identifier. It is highly recommended to
64
+ # keep a unique invoice_id for each Order.
65
+ # @return [String]
66
+ attr_accessor :invoice_id
67
+
68
+ # This field supports up to 127 characters, but any content beyond 22
69
+ # characters (including spaces) will be truncated. The 22 character limit is
70
+ # reflected in the response representation of this field. The soft
71
+ # descriptor is the dynamic text used to construct the statement descriptor
72
+ # that appears on a payer's card statement. If an Order is paid using the
73
+ # "PayPal Wallet", the statement descriptor will appear in following format
74
+ # on the payer's card statement:
75
+ # PAYPAL_prefix+(space)+merchant_descriptor+(space)+ soft_descriptor Note:
76
+ # The merchant descriptor is the descriptor of the merchant’s payment
77
+ # receiving preferences which can be seen by logging into the merchant
78
+ # account https://www.sandbox.paypal.com/businessprofile/settings/info/edit
79
+ # The PAYPAL prefix uses 8 characters. Only the first 22 characters will be
80
+ # displayed in the statement. For example, if: The PayPal prefix toggle is
81
+ # PAYPAL *. The merchant descriptor in the profile is Janes Gift. The soft
82
+ # descriptor is 800-123-1234. Then, the statement descriptor on the card is
83
+ # PAYPAL * Janes Gift 80.
84
+ # @return [String]
85
+ attr_accessor :soft_descriptor
86
+
87
+ # An array of items that the customer purchases from the merchant.
88
+ # @return [Array[ItemRequest]]
89
+ attr_accessor :items
90
+
91
+ # The shipping details.
92
+ # @return [ShippingDetails]
93
+ attr_accessor :shipping
94
+
95
+ # Supplementary data about a payment. This object passes information that
96
+ # can be used to improve risk assessments and processing costs, for example,
97
+ # by providing Level 2 and Level 3 payment data.
98
+ # @return [SupplementaryData]
99
+ attr_accessor :supplementary_data
100
+
101
+ # A mapping from model property names to API property names.
102
+ def self.names
103
+ @_hash = {} if @_hash.nil?
104
+ @_hash['reference_id'] = 'reference_id'
105
+ @_hash['amount'] = 'amount'
106
+ @_hash['payee'] = 'payee'
107
+ @_hash['payment_instruction'] = 'payment_instruction'
108
+ @_hash['description'] = 'description'
109
+ @_hash['custom_id'] = 'custom_id'
110
+ @_hash['invoice_id'] = 'invoice_id'
111
+ @_hash['soft_descriptor'] = 'soft_descriptor'
112
+ @_hash['items'] = 'items'
113
+ @_hash['shipping'] = 'shipping'
114
+ @_hash['supplementary_data'] = 'supplementary_data'
115
+ @_hash
116
+ end
117
+
118
+ # An array for optional fields
119
+ def self.optionals
120
+ %w[
121
+ reference_id
122
+ payee
123
+ payment_instruction
124
+ description
125
+ custom_id
126
+ invoice_id
127
+ soft_descriptor
128
+ items
129
+ shipping
130
+ supplementary_data
131
+ ]
132
+ end
133
+
134
+ # An array for nullable fields
135
+ def self.nullables
136
+ []
137
+ end
138
+
139
+ def initialize(amount:, reference_id: SKIP, payee: SKIP,
140
+ payment_instruction: SKIP, description: SKIP,
141
+ custom_id: SKIP, invoice_id: SKIP, soft_descriptor: SKIP,
142
+ items: SKIP, shipping: SKIP, supplementary_data: SKIP)
143
+ @reference_id = reference_id unless reference_id == SKIP
144
+ @amount = amount
145
+ @payee = payee unless payee == SKIP
146
+ @payment_instruction = payment_instruction unless payment_instruction == SKIP
147
+ @description = description unless description == SKIP
148
+ @custom_id = custom_id unless custom_id == SKIP
149
+ @invoice_id = invoice_id unless invoice_id == SKIP
150
+ @soft_descriptor = soft_descriptor unless soft_descriptor == SKIP
151
+ @items = items unless items == SKIP
152
+ @shipping = shipping unless shipping == SKIP
153
+ @supplementary_data = supplementary_data unless supplementary_data == SKIP
154
+ end
155
+
156
+ # Creates an instance of the object from a hash.
157
+ def self.from_hash(hash)
158
+ return nil unless hash
159
+
160
+ # Extract variables from the hash.
161
+ amount = AmountWithBreakdown.from_hash(hash['amount']) if hash['amount']
162
+ reference_id = hash.key?('reference_id') ? hash['reference_id'] : SKIP
163
+ payee = PayeeBase.from_hash(hash['payee']) if hash['payee']
164
+ payment_instruction = PaymentInstruction.from_hash(hash['payment_instruction']) if
165
+ hash['payment_instruction']
166
+ description = hash.key?('description') ? hash['description'] : SKIP
167
+ custom_id = hash.key?('custom_id') ? hash['custom_id'] : SKIP
168
+ invoice_id = hash.key?('invoice_id') ? hash['invoice_id'] : SKIP
169
+ soft_descriptor =
170
+ hash.key?('soft_descriptor') ? hash['soft_descriptor'] : SKIP
171
+ # Parameter is an array, so we need to iterate through it
172
+ items = nil
173
+ unless hash['items'].nil?
174
+ items = []
175
+ hash['items'].each do |structure|
176
+ items << (ItemRequest.from_hash(structure) if structure)
177
+ end
178
+ end
179
+
180
+ items = SKIP unless hash.key?('items')
181
+ shipping = ShippingDetails.from_hash(hash['shipping']) if hash['shipping']
182
+ supplementary_data = SupplementaryData.from_hash(hash['supplementary_data']) if
183
+ hash['supplementary_data']
184
+
185
+ # Create object from extracted values.
186
+ PurchaseUnitRequest.new(amount: amount,
187
+ reference_id: reference_id,
188
+ payee: payee,
189
+ payment_instruction: payment_instruction,
190
+ description: description,
191
+ custom_id: custom_id,
192
+ invoice_id: invoice_id,
193
+ soft_descriptor: soft_descriptor,
194
+ items: items,
195
+ shipping: shipping,
196
+ supplementary_data: supplementary_data)
197
+ end
198
+
199
+ # Provides a human-readable string representation of the object.
200
+ def to_s
201
+ class_name = self.class.name.split('::').last
202
+ "<#{class_name} reference_id: #{@reference_id}, amount: #{@amount}, payee: #{@payee},"\
203
+ " payment_instruction: #{@payment_instruction}, description: #{@description}, custom_id:"\
204
+ " #{@custom_id}, invoice_id: #{@invoice_id}, soft_descriptor: #{@soft_descriptor}, items:"\
205
+ " #{@items}, shipping: #{@shipping}, supplementary_data: #{@supplementary_data}>"
206
+ end
207
+
208
+ # Provides a debugging-friendly string with detailed object information.
209
+ def inspect
210
+ class_name = self.class.name.split('::').last
211
+ "<#{class_name} reference_id: #{@reference_id.inspect}, amount: #{@amount.inspect}, payee:"\
212
+ " #{@payee.inspect}, payment_instruction: #{@payment_instruction.inspect}, description:"\
213
+ " #{@description.inspect}, custom_id: #{@custom_id.inspect}, invoice_id:"\
214
+ " #{@invoice_id.inspect}, soft_descriptor: #{@soft_descriptor.inspect}, items:"\
215
+ " #{@items.inspect}, shipping: #{@shipping.inspect}, supplementary_data:"\
216
+ " #{@supplementary_data.inspect}>"
217
+ end
218
+ end
219
+ end
@@ -0,0 +1,60 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The reason code for the payment failure.
8
+ class ReasonCode
9
+ REASON_CODE = [
10
+ # PayPal declined the payment due to one or more customer issues.
11
+ PAYMENT_DENIED = 'PAYMENT_DENIED'.freeze,
12
+
13
+ # An internal server error has occurred.
14
+ INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR'.freeze,
15
+
16
+ # The payee account is not in good standing and cannot receive payments.
17
+ PAYEE_ACCOUNT_RESTRICTED = 'PAYEE_ACCOUNT_RESTRICTED'.freeze,
18
+
19
+ # The payer account is not in good standing and cannot make payments.
20
+ PAYER_ACCOUNT_RESTRICTED = 'PAYER_ACCOUNT_RESTRICTED'.freeze,
21
+
22
+ # Payer cannot pay for this transaction.
23
+ PAYER_CANNOT_PAY = 'PAYER_CANNOT_PAY'.freeze,
24
+
25
+ # The transaction exceeds the payer's sending limit.
26
+ SENDING_LIMIT_EXCEEDED = 'SENDING_LIMIT_EXCEEDED'.freeze,
27
+
28
+ # The transaction exceeds the receiver's receiving limit.
29
+ TRANSACTION_RECEIVING_LIMIT_EXCEEDED = 'TRANSACTION_RECEIVING_LIMIT_EXCEEDED'.freeze,
30
+
31
+ # The transaction is declined due to a currency mismatch.
32
+ CURRENCY_MISMATCH = 'CURRENCY_MISMATCH'.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 = PAYMENT_DENIED)
42
+ return default_value if value.nil?
43
+
44
+ str = value.to_s.strip
45
+
46
+ case str.downcase
47
+ when 'payment_denied' then PAYMENT_DENIED
48
+ when 'internal_server_error' then INTERNAL_SERVER_ERROR
49
+ when 'payee_account_restricted' then PAYEE_ACCOUNT_RESTRICTED
50
+ when 'payer_account_restricted' then PAYER_ACCOUNT_RESTRICTED
51
+ when 'payer_cannot_pay' then PAYER_CANNOT_PAY
52
+ when 'sending_limit_exceeded' then SENDING_LIMIT_EXCEEDED
53
+ when 'transaction_receiving_limit_exceeded' then TRANSACTION_RECEIVING_LIMIT_EXCEEDED
54
+ when 'currency_mismatch' then CURRENCY_MISMATCH
55
+ else
56
+ default_value
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,72 @@
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
+ # Reauthorizes an authorized PayPal account payment, by ID. To ensure that
8
+ # funds are still available, reauthorize a payment after its initial three-day
9
+ # honor period expires. You can reauthorize a payment only once from days four
10
+ # to 29. If 30 days have transpired since the date of the original
11
+ # authorization, you must create an authorized payment instead of
12
+ # reauthorizing the original authorized payment. A reauthorized payment itself
13
+ # has a new honor period of three days. You can reauthorize an authorized
14
+ # payment once. The allowed amount depends on context and geography, for
15
+ # example in US it is up to 115% of the original authorized amount, not to
16
+ # exceed an increase of $75 USD. Supports only the `amount` request parameter.
17
+ class ReauthorizeRequest < BaseModel
18
+ SKIP = Object.new
19
+ private_constant :SKIP
20
+
21
+ # The currency and amount for a financial transaction, such as a balance or
22
+ # payment due.
23
+ # @return [Money]
24
+ attr_accessor :amount
25
+
26
+ # A mapping from model property names to API property names.
27
+ def self.names
28
+ @_hash = {} if @_hash.nil?
29
+ @_hash['amount'] = 'amount'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ amount
37
+ ]
38
+ end
39
+
40
+ # An array for nullable fields
41
+ def self.nullables
42
+ []
43
+ end
44
+
45
+ def initialize(amount: SKIP)
46
+ @amount = amount unless amount == SKIP
47
+ end
48
+
49
+ # Creates an instance of the object from a hash.
50
+ def self.from_hash(hash)
51
+ return nil unless hash
52
+
53
+ # Extract variables from the hash.
54
+ amount = Money.from_hash(hash['amount']) if hash['amount']
55
+
56
+ # Create object from extracted values.
57
+ ReauthorizeRequest.new(amount: amount)
58
+ end
59
+
60
+ # Provides a human-readable string representation of the object.
61
+ def to_s
62
+ class_name = self.class.name.split('::').last
63
+ "<#{class_name} amount: #{@amount}>"
64
+ end
65
+
66
+ # Provides a debugging-friendly string with detailed object information.
67
+ def inspect
68
+ class_name = self.class.name.split('::').last
69
+ "<#{class_name} amount: #{@amount.inspect}>"
70
+ end
71
+ end
72
+ end