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,462 @@
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
+ # PaymentsController
8
+ class PaymentsController < BaseController
9
+ # Shows details for an authorized payment, by ID.
10
+ # @param [String] authorization_id Required parameter: The ID of the
11
+ # authorized payment for which to show details.
12
+ # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
13
+ # uses a request header to invoke negative testing in the sandbox. This
14
+ # header configures the sandbox into a negative testing state for
15
+ # transactions that include the merchant.
16
+ # @param [String] paypal_auth_assertion Optional parameter: An
17
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
18
+ # merchant. For details, see
19
+ # [PayPal-Auth-Assertion](/docs/api/reference/api-requests/#paypal-auth-asse
20
+ # rtion). Note:For three party transactions in which a partner is managing
21
+ # the API calls on behalf of a merchant, the partner must identify the
22
+ # merchant using either a PayPal-Auth-Assertion header or an access token
23
+ # with target_subject.
24
+ # @return [ApiResponse] Complete http response with raw body and status code.
25
+ def get_authorized_payment(options = {})
26
+ @api_call
27
+ .request(new_request_builder(HttpMethodEnum::GET,
28
+ '/v2/payments/authorizations/{authorization_id}',
29
+ Server::DEFAULT)
30
+ .template_param(new_parameter(options['authorization_id'], key: 'authorization_id')
31
+ .should_encode(true))
32
+ .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
33
+ .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
34
+ .header_param(new_parameter('application/json', key: 'accept'))
35
+ .auth(Single.new('Oauth2')))
36
+ .response(new_response_handler
37
+ .deserializer(APIHelper.method(:custom_type_deserializer))
38
+ .deserialize_into(PaymentAuthorization.method(:from_hash))
39
+ .is_api_response(true)
40
+ .local_error('401',
41
+ 'Authentication failed due to missing authorization header, or'\
42
+ ' invalid authentication credentials.',
43
+ ErrorException)
44
+ .local_error('403',
45
+ 'The request failed because the caller has insufficient'\
46
+ ' permissions.',
47
+ ErrorException)
48
+ .local_error('404',
49
+ 'The request failed because the resource does not exist.',
50
+ ErrorException)
51
+ .local_error('500',
52
+ 'The request failed because an internal server error occurred.',
53
+ APIException)
54
+ .local_error('default',
55
+ 'The error response.',
56
+ ErrorException))
57
+ .execute
58
+ end
59
+
60
+ # Captures an authorized payment, by ID.
61
+ # @param [String] authorization_id Required parameter: The PayPal-generated
62
+ # ID for the authorized payment to capture.
63
+ # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
64
+ # uses a request header to invoke negative testing in the sandbox. This
65
+ # header configures the sandbox into a negative testing state for
66
+ # transactions that include the merchant.
67
+ # @param [String] paypal_request_id Optional parameter: The server stores
68
+ # keys for 45 days.
69
+ # @param [String] prefer Optional parameter: The preferred server response
70
+ # upon successful completion of the request. Value is: return=minimal. The
71
+ # server returns a minimal response to optimize communication between the
72
+ # API caller and the server. A minimal response includes the id, status and
73
+ # HATEOAS links. return=representation. The server returns a complete
74
+ # resource representation, including the current state of the resource.
75
+ # @param [String] paypal_auth_assertion Optional parameter: An
76
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
77
+ # merchant. For details, see
78
+ # [PayPal-Auth-Assertion](/docs/api/reference/api-requests/#paypal-auth-asse
79
+ # rtion). Note:For three party transactions in which a partner is managing
80
+ # the API calls on behalf of a merchant, the partner must identify the
81
+ # merchant using either a PayPal-Auth-Assertion header or an access token
82
+ # with target_subject.
83
+ # @param [CaptureRequest] body Optional parameter: TODO: type description
84
+ # here
85
+ # @return [ApiResponse] Complete http response with raw body and status code.
86
+ def capture_authorized_payment(options = {})
87
+ @api_call
88
+ .request(new_request_builder(HttpMethodEnum::POST,
89
+ '/v2/payments/authorizations/{authorization_id}/capture',
90
+ Server::DEFAULT)
91
+ .template_param(new_parameter(options['authorization_id'], key: 'authorization_id')
92
+ .should_encode(true))
93
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
94
+ .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
95
+ .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
96
+ .header_param(new_parameter(options['prefer'], key: 'Prefer'))
97
+ .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
98
+ .body_param(new_parameter(options['body']))
99
+ .header_param(new_parameter('application/json', key: 'accept'))
100
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
101
+ .auth(Single.new('Oauth2')))
102
+ .response(new_response_handler
103
+ .deserializer(APIHelper.method(:custom_type_deserializer))
104
+ .deserialize_into(CapturedPayment.method(:from_hash))
105
+ .is_api_response(true)
106
+ .local_error('400',
107
+ 'The request failed because it is not well-formed or is'\
108
+ ' syntactically incorrect or violates schema.',
109
+ ErrorException)
110
+ .local_error('401',
111
+ 'Authentication failed due to missing authorization header, or'\
112
+ ' invalid authentication credentials.',
113
+ ErrorException)
114
+ .local_error('403',
115
+ 'The request failed because the caller has insufficient'\
116
+ ' permissions.',
117
+ ErrorException)
118
+ .local_error('404',
119
+ 'The request failed because the resource does not exist.',
120
+ ErrorException)
121
+ .local_error('409',
122
+ 'The server has detected a conflict while processing this'\
123
+ ' request.',
124
+ ErrorException)
125
+ .local_error('422',
126
+ 'The request failed because it is semantically incorrect or'\
127
+ ' failed business validation.',
128
+ ErrorException)
129
+ .local_error('500',
130
+ 'The request failed because an internal server error occurred.',
131
+ APIException)
132
+ .local_error('default',
133
+ 'The error response.',
134
+ ErrorException))
135
+ .execute
136
+ end
137
+
138
+ # Reauthorizes an authorized PayPal account payment, by ID. To ensure that
139
+ # funds are still available, reauthorize a payment after its initial
140
+ # three-day honor period expires. Within the 29-day authorization period,
141
+ # you can issue multiple re-authorizations after the honor period expires.
142
+ # If 30 days have transpired since the date of the original authorization,
143
+ # you must create an authorized payment instead of reauthorizing the
144
+ # original authorized payment. A reauthorized payment itself has a new honor
145
+ # period of three days. You can reauthorize an authorized payment from 4 to
146
+ # 29 days after the 3-day honor period. The allowed amount depends on
147
+ # context and geography, for example in US it is up to 115% of the original
148
+ # authorized amount, not to exceed an increase of $75 USD. Supports only the
149
+ # `amount` request parameter.
150
+ # @param [String] authorization_id Required parameter: The PayPal-generated
151
+ # ID for the authorized payment to reauthorize.
152
+ # @param [String] paypal_request_id Optional parameter: The server stores
153
+ # keys for 45 days.
154
+ # @param [String] prefer Optional parameter: The preferred server response
155
+ # upon successful completion of the request. Value is: return=minimal. The
156
+ # server returns a minimal response to optimize communication between the
157
+ # API caller and the server. A minimal response includes the id, status and
158
+ # HATEOAS links. return=representation. The server returns a complete
159
+ # resource representation, including the current state of the resource.
160
+ # @param [String] paypal_auth_assertion Optional parameter: An
161
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
162
+ # merchant. For details, see
163
+ # [PayPal-Auth-Assertion](/docs/api/reference/api-requests/#paypal-auth-asse
164
+ # rtion). Note:For three party transactions in which a partner is managing
165
+ # the API calls on behalf of a merchant, the partner must identify the
166
+ # merchant using either a PayPal-Auth-Assertion header or an access token
167
+ # with target_subject.
168
+ # @param [ReauthorizeRequest] body Optional parameter: TODO: type
169
+ # description here
170
+ # @return [ApiResponse] Complete http response with raw body and status code.
171
+ def reauthorize_payment(options = {})
172
+ @api_call
173
+ .request(new_request_builder(HttpMethodEnum::POST,
174
+ '/v2/payments/authorizations/{authorization_id}/reauthorize',
175
+ Server::DEFAULT)
176
+ .template_param(new_parameter(options['authorization_id'], key: 'authorization_id')
177
+ .should_encode(true))
178
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
179
+ .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
180
+ .header_param(new_parameter(options['prefer'], key: 'Prefer'))
181
+ .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
182
+ .body_param(new_parameter(options['body']))
183
+ .header_param(new_parameter('application/json', key: 'accept'))
184
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
185
+ .auth(Single.new('Oauth2')))
186
+ .response(new_response_handler
187
+ .deserializer(APIHelper.method(:custom_type_deserializer))
188
+ .deserialize_into(PaymentAuthorization.method(:from_hash))
189
+ .is_api_response(true)
190
+ .local_error('400',
191
+ 'The request failed because it is not well-formed or is'\
192
+ ' syntactically incorrect or violates schema.',
193
+ ErrorException)
194
+ .local_error('401',
195
+ 'Authentication failed due to missing authorization header, or'\
196
+ ' invalid authentication credentials.',
197
+ ErrorException)
198
+ .local_error('403',
199
+ 'The request failed because the caller has insufficient'\
200
+ ' permissions.',
201
+ ErrorException)
202
+ .local_error('404',
203
+ 'The request failed because the resource does not exist.',
204
+ ErrorException)
205
+ .local_error('422',
206
+ 'The request failed because it either is semantically incorrect'\
207
+ ' or failed business validation.',
208
+ ErrorException)
209
+ .local_error('500',
210
+ 'The request failed because an internal server error occurred.',
211
+ APIException)
212
+ .local_error('default',
213
+ 'The error response.',
214
+ ErrorException))
215
+ .execute
216
+ end
217
+
218
+ # Voids, or cancels, an authorized payment, by ID. You cannot void an
219
+ # authorized payment that has been fully captured.
220
+ # @param [String] authorization_id Required parameter: The PayPal-generated
221
+ # ID for the authorized payment to void.
222
+ # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
223
+ # uses a request header to invoke negative testing in the sandbox. This
224
+ # header configures the sandbox into a negative testing state for
225
+ # transactions that include the merchant.
226
+ # @param [String] paypal_auth_assertion Optional parameter: An
227
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
228
+ # merchant. For details, see
229
+ # [PayPal-Auth-Assertion](/docs/api/reference/api-requests/#paypal-auth-asse
230
+ # rtion). Note:For three party transactions in which a partner is managing
231
+ # the API calls on behalf of a merchant, the partner must identify the
232
+ # merchant using either a PayPal-Auth-Assertion header or an access token
233
+ # with target_subject.
234
+ # @param [String] paypal_request_id Optional parameter: The server stores
235
+ # keys for 45 days.
236
+ # @param [String] prefer Optional parameter: The preferred server response
237
+ # upon successful completion of the request. Value is: return=minimal. The
238
+ # server returns a minimal response to optimize communication between the
239
+ # API caller and the server. A minimal response includes the id, status and
240
+ # HATEOAS links. return=representation. The server returns a complete
241
+ # resource representation, including the current state of the resource.
242
+ # @return [ApiResponse] Complete http response with raw body and status code.
243
+ def void_payment(options = {})
244
+ @api_call
245
+ .request(new_request_builder(HttpMethodEnum::POST,
246
+ '/v2/payments/authorizations/{authorization_id}/void',
247
+ Server::DEFAULT)
248
+ .template_param(new_parameter(options['authorization_id'], key: 'authorization_id')
249
+ .should_encode(true))
250
+ .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
251
+ .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
252
+ .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
253
+ .header_param(new_parameter(options['prefer'], key: 'Prefer'))
254
+ .header_param(new_parameter('application/json', key: 'accept'))
255
+ .auth(Single.new('Oauth2')))
256
+ .response(new_response_handler
257
+ .is_nullable_response(true)
258
+ .deserializer(APIHelper.method(:custom_type_deserializer))
259
+ .deserialize_into(PaymentAuthorization.method(:from_hash))
260
+ .is_api_response(true)
261
+ .local_error('401',
262
+ 'Authentication failed due to missing authorization header, or'\
263
+ ' invalid authentication credentials.',
264
+ ErrorException)
265
+ .local_error('403',
266
+ 'The request failed because the caller has insufficient'\
267
+ ' permissions.',
268
+ ErrorException)
269
+ .local_error('404',
270
+ 'The request failed because the resource does not exist.',
271
+ ErrorException)
272
+ .local_error('409',
273
+ 'The request failed because a previous call for the given'\
274
+ ' resource is in progress.',
275
+ ErrorException)
276
+ .local_error('422',
277
+ 'The request failed because it either is semantically incorrect'\
278
+ ' or failed business validation.',
279
+ ErrorException)
280
+ .local_error('500',
281
+ 'The request failed because an internal server error occurred.',
282
+ APIException)
283
+ .local_error('default',
284
+ 'The error response.',
285
+ ErrorException))
286
+ .execute
287
+ end
288
+
289
+ # Shows details for a captured payment, by ID.
290
+ # @param [String] capture_id Required parameter: The PayPal-generated ID for
291
+ # the captured payment for which to show details.
292
+ # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
293
+ # uses a request header to invoke negative testing in the sandbox. This
294
+ # header configures the sandbox into a negative testing state for
295
+ # transactions that include the merchant.
296
+ # @return [ApiResponse] Complete http response with raw body and status code.
297
+ def get_captured_payment(options = {})
298
+ @api_call
299
+ .request(new_request_builder(HttpMethodEnum::GET,
300
+ '/v2/payments/captures/{capture_id}',
301
+ Server::DEFAULT)
302
+ .template_param(new_parameter(options['capture_id'], key: 'capture_id')
303
+ .should_encode(true))
304
+ .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
305
+ .header_param(new_parameter('application/json', key: 'accept'))
306
+ .auth(Single.new('Oauth2')))
307
+ .response(new_response_handler
308
+ .deserializer(APIHelper.method(:custom_type_deserializer))
309
+ .deserialize_into(CapturedPayment.method(:from_hash))
310
+ .is_api_response(true)
311
+ .local_error('401',
312
+ 'Authentication failed due to missing authorization header, or'\
313
+ ' invalid authentication credentials.',
314
+ ErrorException)
315
+ .local_error('403',
316
+ 'The request failed because the caller has insufficient'\
317
+ ' permissions.',
318
+ ErrorException)
319
+ .local_error('404',
320
+ 'The request failed because the resource does not exist.',
321
+ ErrorException)
322
+ .local_error('500',
323
+ 'The request failed because an internal server error occurred.',
324
+ APIException)
325
+ .local_error('default',
326
+ 'The error response.',
327
+ ErrorException))
328
+ .execute
329
+ end
330
+
331
+ # Refunds a captured payment, by ID. For a full refund, include an empty
332
+ # payload in the JSON request body. For a partial refund, include an amount
333
+ # object in the JSON request body.
334
+ # @param [String] capture_id Required parameter: The PayPal-generated ID for
335
+ # the captured payment to refund.
336
+ # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
337
+ # uses a request header to invoke negative testing in the sandbox. This
338
+ # header configures the sandbox into a negative testing state for
339
+ # transactions that include the merchant.
340
+ # @param [String] paypal_request_id Optional parameter: The server stores
341
+ # keys for 45 days.
342
+ # @param [String] prefer Optional parameter: The preferred server response
343
+ # upon successful completion of the request. Value is: return=minimal. The
344
+ # server returns a minimal response to optimize communication between the
345
+ # API caller and the server. A minimal response includes the id, status and
346
+ # HATEOAS links. return=representation. The server returns a complete
347
+ # resource representation, including the current state of the resource.
348
+ # @param [String] paypal_auth_assertion Optional parameter: An
349
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
350
+ # merchant. For details, see
351
+ # [PayPal-Auth-Assertion](/docs/api/reference/api-requests/#paypal-auth-asse
352
+ # rtion). Note:For three party transactions in which a partner is managing
353
+ # the API calls on behalf of a merchant, the partner must identify the
354
+ # merchant using either a PayPal-Auth-Assertion header or an access token
355
+ # with target_subject.
356
+ # @param [RefundRequest] body Optional parameter: TODO: type description
357
+ # here
358
+ # @return [ApiResponse] Complete http response with raw body and status code.
359
+ def refund_captured_payment(options = {})
360
+ @api_call
361
+ .request(new_request_builder(HttpMethodEnum::POST,
362
+ '/v2/payments/captures/{capture_id}/refund',
363
+ Server::DEFAULT)
364
+ .template_param(new_parameter(options['capture_id'], key: 'capture_id')
365
+ .should_encode(true))
366
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
367
+ .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
368
+ .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
369
+ .header_param(new_parameter(options['prefer'], key: 'Prefer'))
370
+ .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
371
+ .body_param(new_parameter(options['body']))
372
+ .header_param(new_parameter('application/json', key: 'accept'))
373
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
374
+ .auth(Single.new('Oauth2')))
375
+ .response(new_response_handler
376
+ .deserializer(APIHelper.method(:custom_type_deserializer))
377
+ .deserialize_into(Refund.method(:from_hash))
378
+ .is_api_response(true)
379
+ .local_error('400',
380
+ 'The request failed because it is not well-formed or is'\
381
+ ' syntactically incorrect or violates schema.',
382
+ ErrorException)
383
+ .local_error('401',
384
+ 'Authentication failed due to missing authorization header, or'\
385
+ ' invalid authentication credentials.',
386
+ ErrorException)
387
+ .local_error('403',
388
+ 'The request failed because the caller has insufficient'\
389
+ ' permissions.',
390
+ ErrorException)
391
+ .local_error('404',
392
+ 'The request failed because the resource does not exist.',
393
+ ErrorException)
394
+ .local_error('409',
395
+ 'The request failed because a previous call for the given'\
396
+ ' resource is in progress.',
397
+ ErrorException)
398
+ .local_error('422',
399
+ 'The request failed because it either is semantically incorrect'\
400
+ ' or failed business validation.',
401
+ ErrorException)
402
+ .local_error('500',
403
+ 'The request failed because an internal server error occurred.',
404
+ APIException)
405
+ .local_error('default',
406
+ 'The error response.',
407
+ ErrorException))
408
+ .execute
409
+ end
410
+
411
+ # Shows details for a refund, by ID.
412
+ # @param [String] refund_id Required parameter: The PayPal-generated ID for
413
+ # the refund for which to show details.
414
+ # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
415
+ # uses a request header to invoke negative testing in the sandbox. This
416
+ # header configures the sandbox into a negative testing state for
417
+ # transactions that include the merchant.
418
+ # @param [String] paypal_auth_assertion Optional parameter: An
419
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
420
+ # merchant. For details, see
421
+ # [PayPal-Auth-Assertion](/docs/api/reference/api-requests/#paypal-auth-asse
422
+ # rtion). Note:For three party transactions in which a partner is managing
423
+ # the API calls on behalf of a merchant, the partner must identify the
424
+ # merchant using either a PayPal-Auth-Assertion header or an access token
425
+ # with target_subject.
426
+ # @return [ApiResponse] Complete http response with raw body and status code.
427
+ def get_refund(options = {})
428
+ @api_call
429
+ .request(new_request_builder(HttpMethodEnum::GET,
430
+ '/v2/payments/refunds/{refund_id}',
431
+ Server::DEFAULT)
432
+ .template_param(new_parameter(options['refund_id'], key: 'refund_id')
433
+ .should_encode(true))
434
+ .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
435
+ .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
436
+ .header_param(new_parameter('application/json', key: 'accept'))
437
+ .auth(Single.new('Oauth2')))
438
+ .response(new_response_handler
439
+ .deserializer(APIHelper.method(:custom_type_deserializer))
440
+ .deserialize_into(Refund.method(:from_hash))
441
+ .is_api_response(true)
442
+ .local_error('401',
443
+ 'Authentication failed due to missing authorization header, or'\
444
+ ' invalid authentication credentials.',
445
+ ErrorException)
446
+ .local_error('403',
447
+ 'The request failed because the caller has insufficient'\
448
+ ' permissions.',
449
+ ErrorException)
450
+ .local_error('404',
451
+ 'The request failed because the resource does not exist.',
452
+ ErrorException)
453
+ .local_error('500',
454
+ 'The request failed because an internal server error occurred.',
455
+ APIException)
456
+ .local_error('default',
457
+ 'The error response.',
458
+ ErrorException))
459
+ .execute
460
+ end
461
+ end
462
+ end