paypal-server-sdk 2.3.0 → 2.4.0

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 (400) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +148 -148
  3. data/lib/paypal_server_sdk/api_helper.rb +10 -10
  4. data/lib/paypal_server_sdk/client.rb +102 -102
  5. data/lib/paypal_server_sdk/configuration.rb +135 -135
  6. data/lib/paypal_server_sdk/controllers/base_controller.rb +58 -58
  7. data/lib/paypal_server_sdk/controllers/o_auth_authorization_controller.rb +42 -42
  8. data/lib/paypal_server_sdk/controllers/orders_controller.rb +551 -551
  9. data/lib/paypal_server_sdk/controllers/payments_controller.rb +462 -462
  10. data/lib/paypal_server_sdk/controllers/subscriptions_controller.rb +843 -843
  11. data/lib/paypal_server_sdk/controllers/transaction_search_controller.rb +178 -178
  12. data/lib/paypal_server_sdk/controllers/vault_controller.rb +224 -224
  13. data/lib/paypal_server_sdk/exceptions/api_exception.rb +21 -21
  14. data/lib/paypal_server_sdk/exceptions/default_error_exception.rb +78 -78
  15. data/lib/paypal_server_sdk/exceptions/error_exception.rb +70 -70
  16. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +47 -47
  17. data/lib/paypal_server_sdk/exceptions/search_error_exception.rb +90 -90
  18. data/lib/paypal_server_sdk/exceptions/subscription_error_exception.rb +78 -78
  19. data/lib/paypal_server_sdk/http/api_response.rb +7 -7
  20. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +144 -144
  21. data/lib/paypal_server_sdk/http/http_call_back.rb +10 -10
  22. data/lib/paypal_server_sdk/http/http_method_enum.rb +10 -10
  23. data/lib/paypal_server_sdk/http/http_request.rb +10 -10
  24. data/lib/paypal_server_sdk/http/http_response.rb +10 -10
  25. data/lib/paypal_server_sdk/http/proxy_settings.rb +5 -5
  26. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +5 -5
  27. data/lib/paypal_server_sdk/logging/sdk_logger.rb +5 -5
  28. data/lib/paypal_server_sdk/models/activate_subscription_request.rb +63 -63
  29. data/lib/paypal_server_sdk/models/activity_timestamps.rb +79 -79
  30. data/lib/paypal_server_sdk/models/address.rb +132 -132
  31. data/lib/paypal_server_sdk/models/amount_breakdown.rb +132 -132
  32. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +94 -94
  33. data/lib/paypal_server_sdk/models/app_switch_context.rb +74 -74
  34. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +73 -73
  35. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +62 -62
  36. data/lib/paypal_server_sdk/models/apple_pay_card.rb +108 -108
  37. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +210 -210
  38. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +111 -111
  39. data/lib/paypal_server_sdk/models/apple_pay_experience_context.rb +68 -68
  40. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +97 -97
  41. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +36 -36
  42. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +150 -150
  43. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +63 -63
  44. data/lib/paypal_server_sdk/models/apple_pay_request.rb +165 -165
  45. data/lib/paypal_server_sdk/models/apple_pay_request_card.rb +88 -88
  46. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +127 -127
  47. data/lib/paypal_server_sdk/models/application_context_user_action.rb +37 -37
  48. data/lib/paypal_server_sdk/models/assurance_details.rb +82 -82
  49. data/lib/paypal_server_sdk/models/auction_information.rb +100 -100
  50. data/lib/paypal_server_sdk/models/authentication_response.rb +74 -74
  51. data/lib/paypal_server_sdk/models/authorization.rb +211 -211
  52. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +31 -31
  53. data/lib/paypal_server_sdk/models/authorization_status.rb +54 -54
  54. data/lib/paypal_server_sdk/models/authorization_status_details.rb +62 -62
  55. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +72 -72
  56. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +225 -225
  57. data/lib/paypal_server_sdk/models/avs_code.rb +152 -152
  58. data/lib/paypal_server_sdk/models/balance_information.rb +106 -106
  59. data/lib/paypal_server_sdk/models/balances_response.rb +111 -111
  60. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +110 -110
  61. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +87 -87
  62. data/lib/paypal_server_sdk/models/bank_request.rb +71 -71
  63. data/lib/paypal_server_sdk/models/base_model.rb +110 -110
  64. data/lib/paypal_server_sdk/models/billing_cycle.rb +129 -118
  65. data/lib/paypal_server_sdk/models/billing_cycle_override.rb +91 -91
  66. data/lib/paypal_server_sdk/models/billing_plan.rb +212 -212
  67. data/lib/paypal_server_sdk/models/bin_details.rb +102 -102
  68. data/lib/paypal_server_sdk/models/blik_experience_context.rb +142 -142
  69. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +60 -60
  70. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +64 -64
  71. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +97 -97
  72. data/lib/paypal_server_sdk/models/blik_payment_object.rb +99 -99
  73. data/lib/paypal_server_sdk/models/blik_payment_request.rb +120 -120
  74. data/lib/paypal_server_sdk/models/callback_configuration.rb +74 -74
  75. data/lib/paypal_server_sdk/models/callback_events.rb +35 -35
  76. data/lib/paypal_server_sdk/models/cancel_subscription_request.rb +60 -60
  77. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +82 -82
  78. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +104 -104
  79. data/lib/paypal_server_sdk/models/capture_request.rb +126 -126
  80. data/lib/paypal_server_sdk/models/capture_status.rb +52 -52
  81. data/lib/paypal_server_sdk/models/capture_status_details.rb +62 -62
  82. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +72 -72
  83. data/lib/paypal_server_sdk/models/capture_subscription_request.rb +78 -78
  84. data/lib/paypal_server_sdk/models/capture_type.rb +24 -24
  85. data/lib/paypal_server_sdk/models/captured_payment.rb +274 -274
  86. data/lib/paypal_server_sdk/models/card_attributes.rb +83 -83
  87. data/lib/paypal_server_sdk/models/card_attributes_response.rb +62 -62
  88. data/lib/paypal_server_sdk/models/card_authentication_response.rb +63 -63
  89. data/lib/paypal_server_sdk/models/card_brand.rb +149 -149
  90. data/lib/paypal_server_sdk/models/card_customer.rb +98 -98
  91. data/lib/paypal_server_sdk/models/card_customer_information.rb +108 -108
  92. data/lib/paypal_server_sdk/models/card_experience_context.rb +71 -71
  93. data/lib/paypal_server_sdk/models/card_from_request.rb +72 -72
  94. data/lib/paypal_server_sdk/models/card_payment_token_entity.rb +178 -178
  95. data/lib/paypal_server_sdk/models/card_request.rb +191 -191
  96. data/lib/paypal_server_sdk/models/card_response.rb +180 -180
  97. data/lib/paypal_server_sdk/models/card_response_address.rb +137 -137
  98. data/lib/paypal_server_sdk/models/card_response_with_billing_address.rb +101 -101
  99. data/lib/paypal_server_sdk/models/card_stored_credential.rb +111 -111
  100. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +79 -79
  101. data/lib/paypal_server_sdk/models/card_type.rb +44 -44
  102. data/lib/paypal_server_sdk/models/card_vault_response.rb +99 -99
  103. data/lib/paypal_server_sdk/models/card_verification.rb +64 -64
  104. data/lib/paypal_server_sdk/models/card_verification_details.rb +140 -140
  105. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +74 -74
  106. data/lib/paypal_server_sdk/models/card_verification_status.rb +31 -31
  107. data/lib/paypal_server_sdk/models/cart_information.rb +94 -94
  108. data/lib/paypal_server_sdk/models/checkout_option.rb +77 -77
  109. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +40 -40
  110. data/lib/paypal_server_sdk/models/cobranded_card.rb +83 -83
  111. data/lib/paypal_server_sdk/models/confirm_order_request.rb +85 -85
  112. data/lib/paypal_server_sdk/models/create_subscription_request.rb +151 -151
  113. data/lib/paypal_server_sdk/models/customer.rb +76 -76
  114. data/lib/paypal_server_sdk/models/customer_information.rb +95 -95
  115. data/lib/paypal_server_sdk/models/customer_response.rb +75 -75
  116. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +123 -123
  117. data/lib/paypal_server_sdk/models/cvv_code.rb +89 -89
  118. data/lib/paypal_server_sdk/models/cycle_execution.rb +124 -124
  119. data/lib/paypal_server_sdk/models/cycle_frequency.rb +72 -0
  120. data/lib/paypal_server_sdk/models/disbursement_mode.rb +34 -34
  121. data/lib/paypal_server_sdk/models/dispute_category.rb +31 -31
  122. data/lib/paypal_server_sdk/models/eci_flag.rb +50 -50
  123. data/lib/paypal_server_sdk/models/enrollment_status.rb +43 -43
  124. data/lib/paypal_server_sdk/models/eps_payment_object.rb +87 -87
  125. data/lib/paypal_server_sdk/models/eps_payment_request.rb +87 -87
  126. data/lib/paypal_server_sdk/models/error_details.rb +125 -125
  127. data/lib/paypal_server_sdk/models/exchange_rate.rb +91 -91
  128. data/lib/paypal_server_sdk/models/experience_context.rb +116 -116
  129. data/lib/paypal_server_sdk/models/experience_context_shipping_preference.rb +41 -41
  130. data/lib/paypal_server_sdk/models/experience_status.rb +44 -44
  131. data/lib/paypal_server_sdk/models/failed_payment_details.rb +98 -98
  132. data/lib/paypal_server_sdk/models/frequency.rb +75 -75
  133. data/lib/paypal_server_sdk/models/frequency_interval_unit.rb +48 -0
  134. data/lib/paypal_server_sdk/models/fulfillment_type.rb +47 -47
  135. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +87 -87
  136. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +87 -87
  137. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +37 -37
  138. data/lib/paypal_server_sdk/models/google_pay_card.rb +128 -128
  139. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +120 -120
  140. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +131 -131
  141. data/lib/paypal_server_sdk/models/google_pay_experience_context.rb +68 -68
  142. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +24 -24
  143. data/lib/paypal_server_sdk/models/google_pay_request.rb +136 -136
  144. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +98 -98
  145. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +98 -98
  146. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +99 -99
  147. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +97 -97
  148. data/lib/paypal_server_sdk/models/incentive_details.rb +99 -99
  149. data/lib/paypal_server_sdk/models/incentive_information.rb +71 -71
  150. data/lib/paypal_server_sdk/models/interval_unit.rb +40 -40
  151. data/lib/paypal_server_sdk/models/item.rb +161 -161
  152. data/lib/paypal_server_sdk/models/item_category.rb +38 -38
  153. data/lib/paypal_server_sdk/models/item_details.rb +287 -287
  154. data/lib/paypal_server_sdk/models/item_request.rb +163 -163
  155. data/lib/paypal_server_sdk/models/last_payment_details.rb +75 -75
  156. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +78 -78
  157. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +137 -137
  158. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +35 -35
  159. data/lib/paypal_server_sdk/models/line_item.rb +209 -209
  160. data/lib/paypal_server_sdk/models/link_description.rb +92 -92
  161. data/lib/paypal_server_sdk/models/link_http_method.rb +56 -56
  162. data/lib/paypal_server_sdk/models/merchant_preferences.rb +73 -73
  163. data/lib/paypal_server_sdk/models/mobile_return_flow.rb +36 -36
  164. data/lib/paypal_server_sdk/models/mobile_web_context.rb +76 -76
  165. data/lib/paypal_server_sdk/models/modify_subscription_request.rb +124 -124
  166. data/lib/paypal_server_sdk/models/modify_subscription_response.rb +141 -141
  167. data/lib/paypal_server_sdk/models/money.rb +75 -75
  168. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +99 -99
  169. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +87 -87
  170. data/lib/paypal_server_sdk/models/name.rb +73 -73
  171. data/lib/paypal_server_sdk/models/native_app_context.rb +72 -72
  172. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +87 -87
  173. data/lib/paypal_server_sdk/models/network_token.rb +110 -110
  174. data/lib/paypal_server_sdk/models/network_transaction.rb +107 -107
  175. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +100 -100
  176. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +58 -58
  177. data/lib/paypal_server_sdk/models/o_auth_token.rb +106 -106
  178. data/lib/paypal_server_sdk/models/one_time_charge.rb +118 -118
  179. data/lib/paypal_server_sdk/models/order.rb +197 -197
  180. data/lib/paypal_server_sdk/models/order_application_context.rb +219 -219
  181. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +48 -48
  182. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +45 -45
  183. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +42 -42
  184. data/lib/paypal_server_sdk/models/order_authorize_request.rb +63 -63
  185. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +115 -115
  186. data/lib/paypal_server_sdk/models/order_authorize_response.rb +194 -194
  187. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +102 -102
  188. data/lib/paypal_server_sdk/models/order_billing_plan.rb +93 -93
  189. data/lib/paypal_server_sdk/models/order_capture_request.rb +63 -63
  190. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +115 -115
  191. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +123 -123
  192. data/lib/paypal_server_sdk/models/order_request.rb +132 -132
  193. data/lib/paypal_server_sdk/models/order_status.rb +60 -60
  194. data/lib/paypal_server_sdk/models/order_tracker_item.rb +114 -114
  195. data/lib/paypal_server_sdk/models/order_tracker_request.rb +133 -133
  196. data/lib/paypal_server_sdk/models/order_tracker_response.rb +135 -135
  197. data/lib/paypal_server_sdk/models/order_tracker_status.rb +34 -34
  198. data/lib/paypal_server_sdk/models/orders_capture.rb +252 -252
  199. data/lib/paypal_server_sdk/models/orders_card_verification_method.rb +61 -61
  200. data/lib/paypal_server_sdk/models/os_type.rb +35 -35
  201. data/lib/paypal_server_sdk/models/p24_payment_object.rb +123 -123
  202. data/lib/paypal_server_sdk/models/p24_payment_request.rb +98 -98
  203. data/lib/paypal_server_sdk/models/pa_res_status.rb +57 -57
  204. data/lib/paypal_server_sdk/models/participant_metadata.rb +64 -64
  205. data/lib/paypal_server_sdk/models/patch.rb +93 -93
  206. data/lib/paypal_server_sdk/models/patch_op.rb +84 -84
  207. data/lib/paypal_server_sdk/models/payee_base.rb +76 -76
  208. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +33 -33
  209. data/lib/paypal_server_sdk/models/payer.rb +136 -136
  210. data/lib/paypal_server_sdk/models/payer_base.rb +75 -75
  211. data/lib/paypal_server_sdk/models/payer_information.rb +146 -146
  212. data/lib/paypal_server_sdk/models/payer_name.rb +128 -128
  213. data/lib/paypal_server_sdk/models/payment_advice_code.rb +97 -97
  214. data/lib/paypal_server_sdk/models/payment_authorization.rb +233 -233
  215. data/lib/paypal_server_sdk/models/payment_collection.rb +113 -113
  216. data/lib/paypal_server_sdk/models/payment_initiator.rb +34 -34
  217. data/lib/paypal_server_sdk/models/payment_instruction.rb +121 -121
  218. data/lib/paypal_server_sdk/models/payment_method.rb +63 -63
  219. data/lib/paypal_server_sdk/models/payment_method_preference.rb +86 -86
  220. data/lib/paypal_server_sdk/models/payment_preferences.rb +105 -105
  221. data/lib/paypal_server_sdk/models/payment_preferences_override.rb +107 -107
  222. data/lib/paypal_server_sdk/models/payment_source.rb +203 -203
  223. data/lib/paypal_server_sdk/models/payment_source_response.rb +190 -190
  224. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +62 -62
  225. data/lib/paypal_server_sdk/models/payment_token_request.rb +74 -74
  226. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +120 -120
  227. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +71 -71
  228. data/lib/paypal_server_sdk/models/payment_token_response.rb +104 -104
  229. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +91 -91
  230. data/lib/paypal_server_sdk/models/payment_token_status.rb +48 -48
  231. data/lib/paypal_server_sdk/models/payments_capture.rb +252 -252
  232. data/lib/paypal_server_sdk/models/paypal_experience_landing_page.rb +52 -52
  233. data/lib/paypal_server_sdk/models/paypal_experience_user_action.rb +37 -37
  234. data/lib/paypal_server_sdk/models/paypal_payment_token.rb +211 -211
  235. data/lib/paypal_server_sdk/models/paypal_payment_token_customer_type.rb +37 -37
  236. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_type.rb +35 -35
  237. data/lib/paypal_server_sdk/models/paypal_reference_id_type.rb +40 -40
  238. data/lib/paypal_server_sdk/models/paypal_wallet.rb +188 -188
  239. data/lib/paypal_server_sdk/models/paypal_wallet_account_verification_status.rb +36 -36
  240. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +71 -71
  241. data/lib/paypal_server_sdk/models/paypal_wallet_attributes_response.rb +82 -82
  242. data/lib/paypal_server_sdk/models/paypal_wallet_contact_preference.rb +43 -43
  243. data/lib/paypal_server_sdk/models/paypal_wallet_context_shipping_preference.rb +40 -40
  244. data/lib/paypal_server_sdk/models/paypal_wallet_customer.rb +108 -108
  245. data/lib/paypal_server_sdk/models/paypal_wallet_customer_request.rb +108 -108
  246. data/lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb +201 -201
  247. data/lib/paypal_server_sdk/models/paypal_wallet_response.rb +213 -213
  248. data/lib/paypal_server_sdk/models/paypal_wallet_stored_credential.rb +99 -99
  249. data/lib/paypal_server_sdk/models/paypal_wallet_vault_base.rb +134 -134
  250. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +132 -132
  251. data/lib/paypal_server_sdk/models/paypal_wallet_vault_response.rb +99 -99
  252. data/lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb +40 -40
  253. data/lib/paypal_server_sdk/models/phone.rb +91 -91
  254. data/lib/paypal_server_sdk/models/phone_number.rb +68 -68
  255. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +83 -83
  256. data/lib/paypal_server_sdk/models/phone_number_with_optional_country_code.rb +81 -81
  257. data/lib/paypal_server_sdk/models/phone_type.rb +44 -44
  258. data/lib/paypal_server_sdk/models/phone_with_type.rb +72 -72
  259. data/lib/paypal_server_sdk/models/plan.rb +92 -92
  260. data/lib/paypal_server_sdk/models/plan_collection.rb +111 -111
  261. data/lib/paypal_server_sdk/models/plan_details.rb +147 -147
  262. data/lib/paypal_server_sdk/models/plan_override.rb +96 -96
  263. data/lib/paypal_server_sdk/models/plan_request.rb +154 -154
  264. data/lib/paypal_server_sdk/models/plan_request_status.rb +37 -37
  265. data/lib/paypal_server_sdk/models/platform_fee.rb +75 -75
  266. data/lib/paypal_server_sdk/models/pricing_model.rb +37 -37
  267. data/lib/paypal_server_sdk/models/pricing_scheme.rb +84 -84
  268. data/lib/paypal_server_sdk/models/pricing_tier.rb +83 -83
  269. data/lib/paypal_server_sdk/models/processing_instruction.rb +31 -31
  270. data/lib/paypal_server_sdk/models/processor_response.rb +98 -98
  271. data/lib/paypal_server_sdk/models/processor_response_code.rb +644 -644
  272. data/lib/paypal_server_sdk/models/purchase_unit.rb +245 -245
  273. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +219 -219
  274. data/lib/paypal_server_sdk/models/reason_code.rb +56 -56
  275. data/lib/paypal_server_sdk/models/reauthorize_request.rb +72 -72
  276. data/lib/paypal_server_sdk/models/refund.rb +214 -214
  277. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +25 -25
  278. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +80 -80
  279. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +64 -64
  280. data/lib/paypal_server_sdk/models/refund_request.rb +115 -115
  281. data/lib/paypal_server_sdk/models/refund_status.rb +40 -40
  282. data/lib/paypal_server_sdk/models/refund_status_details.rb +62 -62
  283. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +72 -72
  284. data/lib/paypal_server_sdk/models/related_identifiers.rb +83 -83
  285. data/lib/paypal_server_sdk/models/return_flow.rb +36 -36
  286. data/lib/paypal_server_sdk/models/risk_supplementary_data.rb +63 -63
  287. data/lib/paypal_server_sdk/models/search_response.rb +176 -176
  288. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +177 -177
  289. data/lib/paypal_server_sdk/models/seller_protection.rb +78 -78
  290. data/lib/paypal_server_sdk/models/seller_protection_status.rb +41 -41
  291. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +147 -147
  292. data/lib/paypal_server_sdk/models/sepa_debit_experience_context.rb +89 -89
  293. data/lib/paypal_server_sdk/models/sepa_debit_request.rb +64 -64
  294. data/lib/paypal_server_sdk/models/setup_fee_failure_action.rb +32 -32
  295. data/lib/paypal_server_sdk/models/setup_token_request.rb +74 -74
  296. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +143 -143
  297. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +111 -111
  298. data/lib/paypal_server_sdk/models/setup_token_response.rb +116 -116
  299. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +178 -178
  300. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +81 -81
  301. data/lib/paypal_server_sdk/models/shipment_carrier.rb +5682 -5682
  302. data/lib/paypal_server_sdk/models/shipping_details.rb +133 -133
  303. data/lib/paypal_server_sdk/models/shipping_information.rb +101 -101
  304. data/lib/paypal_server_sdk/models/shipping_name.rb +62 -62
  305. data/lib/paypal_server_sdk/models/shipping_option.rb +108 -108
  306. data/lib/paypal_server_sdk/models/shipping_type.rb +48 -48
  307. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +152 -152
  308. data/lib/paypal_server_sdk/models/simple_postal_address_coarse_grained.rb +130 -130
  309. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +99 -99
  310. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +87 -87
  311. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +55 -55
  312. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +25 -25
  313. data/lib/paypal_server_sdk/models/store_information.rb +71 -71
  314. data/lib/paypal_server_sdk/models/stored_payment_source.rb +111 -111
  315. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +38 -38
  316. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +39 -39
  317. data/lib/paypal_server_sdk/models/subscriber.rb +107 -107
  318. data/lib/paypal_server_sdk/models/subscriber_request.rb +120 -120
  319. data/lib/paypal_server_sdk/models/subscription.rb +241 -205
  320. data/lib/paypal_server_sdk/models/subscription_amount_with_breakdown.rb +119 -119
  321. data/lib/paypal_server_sdk/models/subscription_application_context.rb +134 -134
  322. data/lib/paypal_server_sdk/models/subscription_billing_cycle.rb +108 -108
  323. data/lib/paypal_server_sdk/models/subscription_billing_information.rb +148 -148
  324. data/lib/paypal_server_sdk/models/subscription_card_request.rb +141 -141
  325. data/lib/paypal_server_sdk/models/subscription_collection.rb +90 -90
  326. data/lib/paypal_server_sdk/models/subscription_customer_information.rb +84 -84
  327. data/lib/paypal_server_sdk/models/subscription_patch_application_context.rb +122 -122
  328. data/lib/paypal_server_sdk/models/subscription_payer.rb +85 -85
  329. data/lib/paypal_server_sdk/models/subscription_payer_name.rb +114 -114
  330. data/lib/paypal_server_sdk/models/subscription_payment_source.rb +65 -65
  331. data/lib/paypal_server_sdk/models/subscription_payment_source_response.rb +63 -63
  332. data/lib/paypal_server_sdk/models/subscription_plan_status.rb +37 -37
  333. data/lib/paypal_server_sdk/models/subscription_pricing_model.rb +31 -31
  334. data/lib/paypal_server_sdk/models/subscription_pricing_scheme.rb +129 -129
  335. data/lib/paypal_server_sdk/models/subscription_status.rb +52 -0
  336. data/lib/paypal_server_sdk/models/subscription_transaction_details.rb +118 -118
  337. data/lib/paypal_server_sdk/models/subscriptions_card_attributes.rb +83 -83
  338. data/lib/paypal_server_sdk/models/subscriptions_card_brand.rb +129 -129
  339. data/lib/paypal_server_sdk/models/supplementary_data.rb +76 -76
  340. data/lib/paypal_server_sdk/models/suspend_subscription.rb +60 -60
  341. data/lib/paypal_server_sdk/models/tax_amount.rb +63 -63
  342. data/lib/paypal_server_sdk/models/tax_id_type.rb +31 -31
  343. data/lib/paypal_server_sdk/models/tax_info.rb +69 -69
  344. data/lib/paypal_server_sdk/models/taxes.rb +71 -71
  345. data/lib/paypal_server_sdk/models/taxes_override.rb +72 -72
  346. data/lib/paypal_server_sdk/models/tenure_type.rb +38 -38
  347. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +76 -76
  348. data/lib/paypal_server_sdk/models/three_d_secure_card_authentication_response.rb +89 -89
  349. data/lib/paypal_server_sdk/models/token.rb +68 -68
  350. data/lib/paypal_server_sdk/models/token_type.rb +25 -25
  351. data/lib/paypal_server_sdk/models/transaction_details.rb +126 -126
  352. data/lib/paypal_server_sdk/models/transaction_information.rb +494 -494
  353. data/lib/paypal_server_sdk/models/transaction_search_error_details.rb +103 -103
  354. data/lib/paypal_server_sdk/models/transactions_list.rb +111 -111
  355. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +111 -111
  356. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +98 -98
  357. data/lib/paypal_server_sdk/models/universal_product_code.rb +68 -68
  358. data/lib/paypal_server_sdk/models/upc_type.rb +52 -52
  359. data/lib/paypal_server_sdk/models/update_pricing_scheme.rb +72 -72
  360. data/lib/paypal_server_sdk/models/update_pricing_schemes_request.rb +69 -69
  361. data/lib/paypal_server_sdk/models/usage_pattern.rb +91 -91
  362. data/lib/paypal_server_sdk/models/usage_type.rb +34 -34
  363. data/lib/paypal_server_sdk/models/vault_apple_pay_request.rb +73 -73
  364. data/lib/paypal_server_sdk/models/vault_card_experience_context.rb +129 -129
  365. data/lib/paypal_server_sdk/models/vault_card_verification_method.rb +47 -47
  366. data/lib/paypal_server_sdk/models/vault_customer.rb +72 -72
  367. data/lib/paypal_server_sdk/models/vault_experience_context.rb +155 -155
  368. data/lib/paypal_server_sdk/models/vault_instruction.rb +62 -62
  369. data/lib/paypal_server_sdk/models/vault_instruction_action.rb +34 -34
  370. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +64 -64
  371. data/lib/paypal_server_sdk/models/vault_paypal_wallet_request.rb +154 -154
  372. data/lib/paypal_server_sdk/models/vault_response.rb +100 -100
  373. data/lib/paypal_server_sdk/models/vault_response_customer.rb +86 -86
  374. data/lib/paypal_server_sdk/models/vault_status.rb +40 -40
  375. data/lib/paypal_server_sdk/models/vault_token_request.rb +68 -68
  376. data/lib/paypal_server_sdk/models/vault_token_request_type.rb +24 -24
  377. data/lib/paypal_server_sdk/models/vault_user_action.rb +37 -37
  378. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +143 -143
  379. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +132 -132
  380. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +114 -114
  381. data/lib/paypal_server_sdk/models/venmo_experience_context.rb +101 -101
  382. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +199 -199
  383. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +35 -35
  384. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +54 -54
  385. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +34 -34
  386. data/lib/paypal_server_sdk/models/venmo_vault_response.rb +100 -100
  387. data/lib/paypal_server_sdk/models/venmo_vault_response_status.rb +40 -40
  388. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +72 -72
  389. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +62 -62
  390. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +94 -94
  391. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +108 -108
  392. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_shipping_preference.rb +38 -38
  393. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_user_action.rb +37 -37
  394. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +102 -102
  395. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +146 -146
  396. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +131 -131
  397. data/lib/paypal_server_sdk/utilities/date_time_helper.rb +11 -11
  398. data/lib/paypal_server_sdk/utilities/file_wrapper.rb +17 -17
  399. data/lib/paypal_server_sdk.rb +440 -437
  400. metadata +5 -2
@@ -1,462 +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
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