paypal-server-sdk 0.5.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 (275) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +35 -0
  3. data/README.md +112 -0
  4. data/lib/paypal_server_sdk/api_helper.rb +10 -0
  5. data/lib/paypal_server_sdk/client.rb +85 -0
  6. data/lib/paypal_server_sdk/configuration.rb +109 -0
  7. data/lib/paypal_server_sdk/controllers/base_controller.rb +71 -0
  8. data/lib/paypal_server_sdk/controllers/o_auth_authorization_controller.rb +42 -0
  9. data/lib/paypal_server_sdk/controllers/orders_controller.rb +517 -0
  10. data/lib/paypal_server_sdk/controllers/payments_controller.rb +404 -0
  11. data/lib/paypal_server_sdk/controllers/vault_controller.rb +224 -0
  12. data/lib/paypal_server_sdk/exceptions/api_exception.rb +10 -0
  13. data/lib/paypal_server_sdk/exceptions/error_exception.rb +71 -0
  14. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +48 -0
  15. data/lib/paypal_server_sdk/http/api_response.rb +21 -0
  16. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +136 -0
  17. data/lib/paypal_server_sdk/http/http_call_back.rb +10 -0
  18. data/lib/paypal_server_sdk/http/http_method_enum.rb +10 -0
  19. data/lib/paypal_server_sdk/http/http_request.rb +10 -0
  20. data/lib/paypal_server_sdk/http/http_response.rb +10 -0
  21. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +114 -0
  22. data/lib/paypal_server_sdk/logging/sdk_logger.rb +17 -0
  23. data/lib/paypal_server_sdk/models/activity_timestamps.rb +68 -0
  24. data/lib/paypal_server_sdk/models/address.rb +116 -0
  25. data/lib/paypal_server_sdk/models/address_details.rb +160 -0
  26. data/lib/paypal_server_sdk/models/amount_breakdown.rb +115 -0
  27. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +80 -0
  28. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +60 -0
  29. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +50 -0
  30. data/lib/paypal_server_sdk/models/apple_pay_card.rb +94 -0
  31. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +167 -0
  32. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +95 -0
  33. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +83 -0
  34. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +24 -0
  35. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +114 -0
  36. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +51 -0
  37. data/lib/paypal_server_sdk/models/apple_pay_request.rb +137 -0
  38. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +113 -0
  39. data/lib/paypal_server_sdk/models/assurance_details.rb +68 -0
  40. data/lib/paypal_server_sdk/models/authentication_response.rb +61 -0
  41. data/lib/paypal_server_sdk/models/authorization.rb +192 -0
  42. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +23 -0
  43. data/lib/paypal_server_sdk/models/authorization_status.rb +35 -0
  44. data/lib/paypal_server_sdk/models/authorization_status_details.rb +50 -0
  45. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +60 -0
  46. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +205 -0
  47. data/lib/paypal_server_sdk/models/avs_code.rb +90 -0
  48. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +95 -0
  49. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +73 -0
  50. data/lib/paypal_server_sdk/models/base_model.rb +62 -0
  51. data/lib/paypal_server_sdk/models/bin_details.rb +88 -0
  52. data/lib/paypal_server_sdk/models/blik_experience_context.rb +122 -0
  53. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +48 -0
  54. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +52 -0
  55. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +82 -0
  56. data/lib/paypal_server_sdk/models/blik_payment_object.rb +86 -0
  57. data/lib/paypal_server_sdk/models/blik_payment_request.rb +105 -0
  58. data/lib/paypal_server_sdk/models/capture.rb +228 -0
  59. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +55 -0
  60. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +89 -0
  61. data/lib/paypal_server_sdk/models/capture_request.rb +108 -0
  62. data/lib/paypal_server_sdk/models/capture_status.rb +35 -0
  63. data/lib/paypal_server_sdk/models/capture_status_details.rb +50 -0
  64. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +60 -0
  65. data/lib/paypal_server_sdk/models/captured_payment.rb +248 -0
  66. data/lib/paypal_server_sdk/models/card_attributes.rb +70 -0
  67. data/lib/paypal_server_sdk/models/card_attributes_response.rb +50 -0
  68. data/lib/paypal_server_sdk/models/card_authentication_response.rb +51 -0
  69. data/lib/paypal_server_sdk/models/card_brand.rb +93 -0
  70. data/lib/paypal_server_sdk/models/card_customer_information.rb +85 -0
  71. data/lib/paypal_server_sdk/models/card_experience_context.rb +59 -0
  72. data/lib/paypal_server_sdk/models/card_from_request.rb +60 -0
  73. data/lib/paypal_server_sdk/models/card_payment_token.rb +166 -0
  74. data/lib/paypal_server_sdk/models/card_request.rb +176 -0
  75. data/lib/paypal_server_sdk/models/card_response.rb +139 -0
  76. data/lib/paypal_server_sdk/models/card_response_entity.rb +156 -0
  77. data/lib/paypal_server_sdk/models/card_stored_credential.rb +95 -0
  78. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +71 -0
  79. data/lib/paypal_server_sdk/models/card_type.rb +32 -0
  80. data/lib/paypal_server_sdk/models/card_vault_response.rb +86 -0
  81. data/lib/paypal_server_sdk/models/card_verification.rb +51 -0
  82. data/lib/paypal_server_sdk/models/card_verification_details.rb +111 -0
  83. data/lib/paypal_server_sdk/models/card_verification_method.rb +29 -0
  84. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +62 -0
  85. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +24 -0
  86. data/lib/paypal_server_sdk/models/cobranded_card.rb +70 -0
  87. data/lib/paypal_server_sdk/models/confirm_order_request.rb +74 -0
  88. data/lib/paypal_server_sdk/models/customer_information.rb +72 -0
  89. data/lib/paypal_server_sdk/models/customer_request.rb +62 -0
  90. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +105 -0
  91. data/lib/paypal_server_sdk/models/cvv_code.rb +60 -0
  92. data/lib/paypal_server_sdk/models/disbursement_mode.rb +23 -0
  93. data/lib/paypal_server_sdk/models/dispute_category.rb +23 -0
  94. data/lib/paypal_server_sdk/models/eci_flag.rb +39 -0
  95. data/lib/paypal_server_sdk/models/enrollment_status.rb +29 -0
  96. data/lib/paypal_server_sdk/models/eps_payment_object.rb +74 -0
  97. data/lib/paypal_server_sdk/models/eps_payment_request.rb +73 -0
  98. data/lib/paypal_server_sdk/models/error_details.rb +110 -0
  99. data/lib/paypal_server_sdk/models/exchange_rate.rb +75 -0
  100. data/lib/paypal_server_sdk/models/experience_context.rb +98 -0
  101. data/lib/paypal_server_sdk/models/fullfillment_type.rb +31 -0
  102. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +74 -0
  103. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +73 -0
  104. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +23 -0
  105. data/lib/paypal_server_sdk/models/google_pay_card_attributes.rb +51 -0
  106. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +104 -0
  107. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +105 -0
  108. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +20 -0
  109. data/lib/paypal_server_sdk/models/google_pay_request.rb +118 -0
  110. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +84 -0
  111. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +85 -0
  112. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +85 -0
  113. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +83 -0
  114. data/lib/paypal_server_sdk/models/item.rb +134 -0
  115. data/lib/paypal_server_sdk/models/item_category.rb +26 -0
  116. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +66 -0
  117. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +120 -0
  118. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +26 -0
  119. data/lib/paypal_server_sdk/models/line_item.rb +177 -0
  120. data/lib/paypal_server_sdk/models/link_description.rb +75 -0
  121. data/lib/paypal_server_sdk/models/link_http_method.rb +41 -0
  122. data/lib/paypal_server_sdk/models/money.rb +62 -0
  123. data/lib/paypal_server_sdk/models/my_bank_payment_object.rb +85 -0
  124. data/lib/paypal_server_sdk/models/my_bank_payment_request.rb +73 -0
  125. data/lib/paypal_server_sdk/models/name.rb +61 -0
  126. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +73 -0
  127. data/lib/paypal_server_sdk/models/network_token.rb +95 -0
  128. data/lib/paypal_server_sdk/models/network_transaction_reference.rb +90 -0
  129. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +88 -0
  130. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +45 -0
  131. data/lib/paypal_server_sdk/models/o_auth_token.rb +106 -0
  132. data/lib/paypal_server_sdk/models/order.rb +178 -0
  133. data/lib/paypal_server_sdk/models/order_application_context.rb +193 -0
  134. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +32 -0
  135. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +34 -0
  136. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +29 -0
  137. data/lib/paypal_server_sdk/models/order_authorize_request.rb +51 -0
  138. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +104 -0
  139. data/lib/paypal_server_sdk/models/order_authorize_response.rb +171 -0
  140. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +88 -0
  141. data/lib/paypal_server_sdk/models/order_capture_request.rb +51 -0
  142. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +104 -0
  143. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +109 -0
  144. data/lib/paypal_server_sdk/models/order_request.rb +103 -0
  145. data/lib/paypal_server_sdk/models/order_status.rb +35 -0
  146. data/lib/paypal_server_sdk/models/order_tracker_item.rb +99 -0
  147. data/lib/paypal_server_sdk/models/order_tracker_request.rb +116 -0
  148. data/lib/paypal_server_sdk/models/order_tracker_response.rb +122 -0
  149. data/lib/paypal_server_sdk/models/order_tracker_status.rb +23 -0
  150. data/lib/paypal_server_sdk/models/p24_payment_object.rb +108 -0
  151. data/lib/paypal_server_sdk/models/p24_payment_request.rb +85 -0
  152. data/lib/paypal_server_sdk/models/pa_res_status.rb +42 -0
  153. data/lib/paypal_server_sdk/models/patch.rb +83 -0
  154. data/lib/paypal_server_sdk/models/patch_op.rb +35 -0
  155. data/lib/paypal_server_sdk/models/pay_pal_experience_landing_page.rb +26 -0
  156. data/lib/paypal_server_sdk/models/pay_pal_experience_user_action.rb +24 -0
  157. data/lib/paypal_server_sdk/models/pay_pal_payment_token.rb +180 -0
  158. data/lib/paypal_server_sdk/models/pay_pal_payment_token_customer_type.rb +25 -0
  159. data/lib/paypal_server_sdk/models/pay_pal_payment_token_usage_pattern.rb +35 -0
  160. data/lib/paypal_server_sdk/models/pay_pal_payment_token_usage_type.rb +23 -0
  161. data/lib/paypal_server_sdk/models/pay_pal_wallet.rb +158 -0
  162. data/lib/paypal_server_sdk/models/pay_pal_wallet_account_verification_status.rb +24 -0
  163. data/lib/paypal_server_sdk/models/pay_pal_wallet_attributes.rb +59 -0
  164. data/lib/paypal_server_sdk/models/pay_pal_wallet_attributes_response.rb +70 -0
  165. data/lib/paypal_server_sdk/models/pay_pal_wallet_customer.rb +85 -0
  166. data/lib/paypal_server_sdk/models/pay_pal_wallet_customer_request.rb +85 -0
  167. data/lib/paypal_server_sdk/models/pay_pal_wallet_experience_context.rb +140 -0
  168. data/lib/paypal_server_sdk/models/pay_pal_wallet_response.rb +166 -0
  169. data/lib/paypal_server_sdk/models/pay_pal_wallet_vault_instruction.rb +115 -0
  170. data/lib/paypal_server_sdk/models/pay_pal_wallet_vault_response.rb +86 -0
  171. data/lib/paypal_server_sdk/models/pay_pal_wallet_vault_status.rb +26 -0
  172. data/lib/paypal_server_sdk/models/payee.rb +65 -0
  173. data/lib/paypal_server_sdk/models/payee_base.rb +64 -0
  174. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +23 -0
  175. data/lib/paypal_server_sdk/models/payer.rb +120 -0
  176. data/lib/paypal_server_sdk/models/payer_base.rb +64 -0
  177. data/lib/paypal_server_sdk/models/payment_advice_code.rb +30 -0
  178. data/lib/paypal_server_sdk/models/payment_authorization.rb +212 -0
  179. data/lib/paypal_server_sdk/models/payment_collection.rb +99 -0
  180. data/lib/paypal_server_sdk/models/payment_initiator.rb +23 -0
  181. data/lib/paypal_server_sdk/models/payment_instruction.rb +105 -0
  182. data/lib/paypal_server_sdk/models/payment_method_preference.rb +72 -0
  183. data/lib/paypal_server_sdk/models/payment_source.rb +187 -0
  184. data/lib/paypal_server_sdk/models/payment_source_response.rb +171 -0
  185. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +50 -0
  186. data/lib/paypal_server_sdk/models/payment_token_request.rb +60 -0
  187. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +125 -0
  188. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +59 -0
  189. data/lib/paypal_server_sdk/models/payment_token_response.rb +87 -0
  190. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +87 -0
  191. data/lib/paypal_server_sdk/models/phone.rb +77 -0
  192. data/lib/paypal_server_sdk/models/phone_number.rb +54 -0
  193. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +66 -0
  194. data/lib/paypal_server_sdk/models/phone_type.rb +32 -0
  195. data/lib/paypal_server_sdk/models/phone_with_type.rb +59 -0
  196. data/lib/paypal_server_sdk/models/platform_fee.rb +63 -0
  197. data/lib/paypal_server_sdk/models/processing_instruction.rb +23 -0
  198. data/lib/paypal_server_sdk/models/processor_response.rb +83 -0
  199. data/lib/paypal_server_sdk/models/processor_response_code.rb +479 -0
  200. data/lib/paypal_server_sdk/models/purchase_unit.rb +227 -0
  201. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +193 -0
  202. data/lib/paypal_server_sdk/models/reauthorize_request.rb +62 -0
  203. data/lib/paypal_server_sdk/models/refund.rb +195 -0
  204. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +20 -0
  205. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +68 -0
  206. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +52 -0
  207. data/lib/paypal_server_sdk/models/refund_request.rb +100 -0
  208. data/lib/paypal_server_sdk/models/refund_status.rb +29 -0
  209. data/lib/paypal_server_sdk/models/refund_status_details.rb +50 -0
  210. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +60 -0
  211. data/lib/paypal_server_sdk/models/related_identifiers.rb +69 -0
  212. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +156 -0
  213. data/lib/paypal_server_sdk/models/seller_protection.rb +65 -0
  214. data/lib/paypal_server_sdk/models/seller_protection_status.rb +29 -0
  215. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +129 -0
  216. data/lib/paypal_server_sdk/models/setup_token_card_experience_context.rb +103 -0
  217. data/lib/paypal_server_sdk/models/setup_token_request.rb +60 -0
  218. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +141 -0
  219. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +77 -0
  220. data/lib/paypal_server_sdk/models/setup_token_response.rb +106 -0
  221. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +156 -0
  222. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +68 -0
  223. data/lib/paypal_server_sdk/models/shipment_carrier.rb +3852 -0
  224. data/lib/paypal_server_sdk/models/shipping_details.rb +106 -0
  225. data/lib/paypal_server_sdk/models/shipping_name.rb +50 -0
  226. data/lib/paypal_server_sdk/models/shipping_option.rb +94 -0
  227. data/lib/paypal_server_sdk/models/shipping_preference.rb +26 -0
  228. data/lib/paypal_server_sdk/models/shipping_type.rb +29 -0
  229. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +124 -0
  230. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +85 -0
  231. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +73 -0
  232. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +36 -0
  233. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +20 -0
  234. data/lib/paypal_server_sdk/models/stored_payment_source.rb +95 -0
  235. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +26 -0
  236. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +27 -0
  237. data/lib/paypal_server_sdk/models/supplementary_data.rb +58 -0
  238. data/lib/paypal_server_sdk/models/supplementary_purchase_data.rb +63 -0
  239. data/lib/paypal_server_sdk/models/tax_id_type.rb +23 -0
  240. data/lib/paypal_server_sdk/models/tax_info.rb +57 -0
  241. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +62 -0
  242. data/lib/paypal_server_sdk/models/token.rb +56 -0
  243. data/lib/paypal_server_sdk/models/token_request_type.rb +23 -0
  244. data/lib/paypal_server_sdk/models/token_type.rb +20 -0
  245. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +85 -0
  246. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +73 -0
  247. data/lib/paypal_server_sdk/models/universal_product_code.rb +56 -0
  248. data/lib/paypal_server_sdk/models/upc_type.rb +38 -0
  249. data/lib/paypal_server_sdk/models/vault_customer.rb +50 -0
  250. data/lib/paypal_server_sdk/models/vault_experience_context.rb +112 -0
  251. data/lib/paypal_server_sdk/models/vault_instruction.rb +50 -0
  252. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +52 -0
  253. data/lib/paypal_server_sdk/models/vault_pay_pal_wallet_request.rb +115 -0
  254. data/lib/paypal_server_sdk/models/vault_response.rb +86 -0
  255. data/lib/paypal_server_sdk/models/vault_status.rb +26 -0
  256. data/lib/paypal_server_sdk/models/vault_token_request.rb +56 -0
  257. data/lib/paypal_server_sdk/models/vault_venmo_experience_context.rb +73 -0
  258. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +115 -0
  259. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +106 -0
  260. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +75 -0
  261. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +169 -0
  262. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +25 -0
  263. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +35 -0
  264. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +23 -0
  265. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +60 -0
  266. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +50 -0
  267. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +63 -0
  268. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +65 -0
  269. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +89 -0
  270. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +120 -0
  271. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +114 -0
  272. data/lib/paypal_server_sdk/utilities/date_time_helper.rb +11 -0
  273. data/lib/paypal_server_sdk/utilities/file_wrapper.rb +16 -0
  274. data/lib/paypal_server_sdk.rb +306 -0
  275. metadata +357 -0
@@ -0,0 +1,517 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # OrdersController
8
+ class OrdersController < BaseController
9
+ # Creates an order. Merchants and partners can add Level 2 and 3 data to
10
+ # payments to reduce risk and payment processing costs. For more information
11
+ # about processing payments, see <a
12
+ # href="https://developer.paypal.com/docs/checkout/advanced/processing/">che
13
+ # ckout</a> or <a
14
+ # href="https://developer.paypal.com/docs/multiparty/checkout/advanced/proce
15
+ # ssing/">multiparty checkout</a>.<blockquote><strong>Note:</strong> For
16
+ # error handling and troubleshooting, see <a
17
+ # href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#cr
18
+ # eate-order">Orders v2 errors</a>.</blockquote>
19
+ # @param [OrderRequest] body Required parameter: Example:
20
+ # @param [String] pay_pal_request_id Optional parameter: The server stores
21
+ # keys for 6 hours. The API callers can request the times to up to 72 hours
22
+ # by speaking to their Account Manager.
23
+ # @param [String] pay_pal_partner_attribution_id Optional parameter:
24
+ # Example:
25
+ # @param [String] pay_pal_client_metadata_id Optional parameter: Example:
26
+ # @param [String] prefer Optional parameter: The preferred server response
27
+ # upon successful completion of the request. Value
28
+ # is:<ul><li><code>return=minimal</code>. The server returns a minimal
29
+ # response to optimize communication between the API caller and the server.
30
+ # A minimal response includes the <code>id</code>, <code>status</code> and
31
+ # HATEOAS links.</li><li><code>return=representation</code>. The server
32
+ # returns a complete resource representation, including the current state of
33
+ # the resource.</li></ul>
34
+ # @return [ApiResponse] the complete http response with raw body and status code.
35
+ def orders_create(options = {})
36
+ new_api_call_builder
37
+ .request(new_request_builder(HttpMethodEnum::POST,
38
+ '/v2/checkout/orders',
39
+ Server::DEFAULT)
40
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
41
+ .body_param(new_parameter(options['body']))
42
+ .header_param(new_parameter(options['pay_pal_request_id'], key: 'PayPal-Request-Id'))
43
+ .header_param(new_parameter(options['pay_pal_partner_attribution_id'], key: 'PayPal-Partner-Attribution-Id'))
44
+ .header_param(new_parameter(options['pay_pal_client_metadata_id'], key: 'PayPal-Client-Metadata-Id'))
45
+ .header_param(new_parameter(options['prefer'], key: 'Prefer'))
46
+ .header_param(new_parameter('application/json', key: 'accept'))
47
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
48
+ .auth(Single.new('Oauth2')))
49
+ .response(new_response_handler
50
+ .deserializer(APIHelper.method(:custom_type_deserializer))
51
+ .deserialize_into(Order.method(:from_hash))
52
+ .is_api_response(true)
53
+ .local_error('400',
54
+ 'Request is not well-formed, syntactically incorrect, or'\
55
+ ' violates schema.',
56
+ ErrorException)
57
+ .local_error('401',
58
+ 'Authentication failed due to missing authorization header, or'\
59
+ ' invalid authentication credentials.',
60
+ ErrorException)
61
+ .local_error('422',
62
+ 'The requested action could not be performed, semantically'\
63
+ ' incorrect, or failed business validation.',
64
+ ErrorException)
65
+ .local_error('default',
66
+ 'The error response.',
67
+ ErrorException))
68
+ .execute
69
+ end
70
+
71
+ # Shows details for an order, by ID.<blockquote><strong>Note:</strong> For
72
+ # error handling and troubleshooting, see <a
73
+ # href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ge
74
+ # t-order">Orders v2 errors</a>.</blockquote>
75
+ # @param [String] id Required parameter: The ID of the order for which to
76
+ # show details.
77
+ # @param [String] fields Optional parameter: A comma-separated list of
78
+ # fields that should be returned for the order. Valid filter field is
79
+ # `payment_source`.
80
+ # @return [ApiResponse] the complete http response with raw body and status code.
81
+ def orders_get(options = {})
82
+ new_api_call_builder
83
+ .request(new_request_builder(HttpMethodEnum::GET,
84
+ '/v2/checkout/orders/{id}',
85
+ Server::DEFAULT)
86
+ .template_param(new_parameter(options['id'], key: 'id')
87
+ .should_encode(true))
88
+ .query_param(new_parameter(options['fields'], key: 'fields'))
89
+ .header_param(new_parameter('application/json', key: 'accept'))
90
+ .auth(Single.new('Oauth2')))
91
+ .response(new_response_handler
92
+ .deserializer(APIHelper.method(:custom_type_deserializer))
93
+ .deserialize_into(Order.method(:from_hash))
94
+ .is_api_response(true)
95
+ .local_error('401',
96
+ 'Authentication failed due to missing authorization header, or'\
97
+ ' invalid authentication credentials.',
98
+ ErrorException)
99
+ .local_error('404',
100
+ 'The specified resource does not exist.',
101
+ ErrorException)
102
+ .local_error('default',
103
+ 'The error response.',
104
+ ErrorException))
105
+ .execute
106
+ end
107
+
108
+ # Updates an order with a `CREATED` or `APPROVED` status. You cannot update
109
+ # an order with the `COMPLETED` status.<br/><br/>To make an update, you must
110
+ # provide a `reference_id`. If you omit this value with an order that
111
+ # contains only one purchase unit, PayPal sets the value to `default` which
112
+ # enables you to use the path:
113
+ # <code>\"/purchase_units/@reference_id=='default'/{attribute-or-object}\"</
114
+ # code>. Merchants and partners can add Level 2 and 3 data to payments to
115
+ # reduce risk and payment processing costs. For more information about
116
+ # processing payments, see <a
117
+ # href="https://developer.paypal.com/docs/checkout/advanced/processing/">che
118
+ # ckout</a> or <a
119
+ # href="https://developer.paypal.com/docs/multiparty/checkout/advanced/proce
120
+ # ssing/">multiparty checkout</a>.<blockquote><strong>Note:</strong> For
121
+ # error handling and troubleshooting, see <a
122
+ # href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#pa
123
+ # tch-order">Orders v2 errors</a>.</blockquote>Patchable attributes or
124
+ # objects:<br/><br/><table><thead><th>Attribute</th><th>Op</th><th>Notes</th
125
+ # ></thead><tbody><tr><td><code>intent</code></td><td>replace</td><td></td><
126
+ # /tr><tr><td><code>payer</code></td><td>replace, add</td><td>Using replace
127
+ # op for <code>payer</code> will replace the whole <code>payer</code> object
128
+ # with the value sent in
129
+ # request.</td></tr><tr><td><code>purchase_units</code></td><td>replace,
130
+ # add</td><td></td></tr><tr><td><code>purchase_units[].custom_id</code></td>
131
+ # <td>replace, add,
132
+ # remove</td><td></td></tr><tr><td><code>purchase_units[].description</code>
133
+ # </td><td>replace, add,
134
+ # remove</td><td></td></tr><tr><td><code>purchase_units[].payee.email</code>
135
+ # </td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].shipping
136
+ # .name</code></td><td>replace,
137
+ # add</td><td></td></tr><tr><td><code>purchase_units[].shipping.email_addres
138
+ # s</code></td><td>replace,
139
+ # add</td><td></td></tr><tr><td><code>purchase_units[].shipping.phone_number
140
+ # </code></td><td>replace,
141
+ # add</td><td></td></tr><tr><td><code>purchase_units[].shipping.options</cod
142
+ # e></td><td>replace,
143
+ # add</td><td></td></tr><tr><td><code>purchase_units[].shipping.address</cod
144
+ # e></td><td>replace,
145
+ # add</td><td></td></tr><tr><td><code>purchase_units[].shipping.type</code><
146
+ # /td><td>replace,
147
+ # add</td><td></td></tr><tr><td><code>purchase_units[].soft_descriptor</code
148
+ # ></td><td>replace,
149
+ # remove</td><td></td></tr><tr><td><code>purchase_units[].amount</code></td>
150
+ # <td>replace</td><td></td></tr><tr><td><code>purchase_units[].items</code><
151
+ # /td><td>replace, add,
152
+ # remove</td><td></td></tr><tr><td><code>purchase_units[].invoice_id</code><
153
+ # /td><td>replace, add,
154
+ # remove</td><td></td></tr><tr><td><code>purchase_units[].payment_instructio
155
+ # n</code></td><td>replace</td><td></td></tr><tr><td><code>purchase_units[].
156
+ # payment_instruction.disbursement_mode</code></td><td>replace</td><td>By
157
+ # default, <code>disbursement_mode</code> is
158
+ # <code>INSTANT</code>.</td></tr><tr><td><code>purchase_units[].payment_inst
159
+ # ruction.payee_receivable_fx_rate_id</code></td><td>replace, add,
160
+ # remove</td><td></td></tr><tr><td><code>purchase_units[].payment_instructio
161
+ # n.platform_fees</code></td><td>replace, add,
162
+ # remove</td><td></td></tr><tr><td><code>purchase_units[].supplementary_data
163
+ # .airline</code></td><td>replace, add,
164
+ # remove</td><td></td></tr><tr><td><code>purchase_units[].supplementary_data
165
+ # .card</code></td><td>replace, add,
166
+ # remove</td><td></td></tr><tr><td><code>application_context.client_configur
167
+ # ation</code></td><td>replace, add</td><td></td></tr></tbody></table>
168
+ # @param [String] id Required parameter: The ID of the order to update.
169
+ # @param [Array[Patch]] body Optional parameter: Example:
170
+ # @return [ApiResponse] the complete http response with raw body and status code.
171
+ def orders_patch(options = {})
172
+ new_api_call_builder
173
+ .request(new_request_builder(HttpMethodEnum::PATCH,
174
+ '/v2/checkout/orders/{id}',
175
+ Server::DEFAULT)
176
+ .template_param(new_parameter(options['id'], key: 'id')
177
+ .should_encode(true))
178
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
179
+ .body_param(new_parameter(options['body']))
180
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
181
+ .auth(Single.new('Oauth2')))
182
+ .response(new_response_handler
183
+ .is_response_void(true)
184
+ .is_api_response(true)
185
+ .local_error('400',
186
+ 'Request is not well-formed, syntactically incorrect, or'\
187
+ ' violates schema.',
188
+ ErrorException)
189
+ .local_error('401',
190
+ 'Authentication failed due to missing authorization header, or'\
191
+ ' invalid authentication credentials.',
192
+ ErrorException)
193
+ .local_error('404',
194
+ 'The specified resource does not exist.',
195
+ ErrorException)
196
+ .local_error('422',
197
+ 'The requested action could not be performed, semantically'\
198
+ ' incorrect, or failed business validation.',
199
+ ErrorException)
200
+ .local_error('default',
201
+ 'The error response.',
202
+ ErrorException))
203
+ .execute
204
+ end
205
+
206
+ # Payer confirms their intent to pay for the the Order with the given
207
+ # payment source.
208
+ # @param [String] id Required parameter: The ID of the order for which the
209
+ # payer confirms their intent to pay.
210
+ # @param [String] pay_pal_client_metadata_id Optional parameter: Example:
211
+ # @param [String] prefer Optional parameter: The preferred server response
212
+ # upon successful completion of the request. Value
213
+ # is:<ul><li><code>return=minimal</code>. The server returns a minimal
214
+ # response to optimize communication between the API caller and the server.
215
+ # A minimal response includes the <code>id</code>, <code>status</code> and
216
+ # HATEOAS links.</li><li><code>return=representation</code>. The server
217
+ # returns a complete resource representation, including the current state of
218
+ # the resource.</li></ul>
219
+ # @param [ConfirmOrderRequest] body Optional parameter: Example:
220
+ # @return [ApiResponse] the complete http response with raw body and status code.
221
+ def orders_confirm(options = {})
222
+ new_api_call_builder
223
+ .request(new_request_builder(HttpMethodEnum::POST,
224
+ '/v2/checkout/orders/{id}/confirm-payment-source',
225
+ Server::DEFAULT)
226
+ .template_param(new_parameter(options['id'], key: 'id')
227
+ .should_encode(true))
228
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
229
+ .header_param(new_parameter(options['pay_pal_client_metadata_id'], key: 'PayPal-Client-Metadata-Id'))
230
+ .header_param(new_parameter(options['prefer'], key: 'Prefer'))
231
+ .body_param(new_parameter(options['body']))
232
+ .header_param(new_parameter('application/json', key: 'accept'))
233
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
234
+ .auth(Single.new('Oauth2')))
235
+ .response(new_response_handler
236
+ .deserializer(APIHelper.method(:custom_type_deserializer))
237
+ .deserialize_into(Order.method(:from_hash))
238
+ .is_api_response(true)
239
+ .local_error('400',
240
+ 'Request is not well-formed, syntactically incorrect, or'\
241
+ ' violates schema.',
242
+ ErrorException)
243
+ .local_error('403',
244
+ 'Authorization failed due to insufficient permissions.',
245
+ ErrorException)
246
+ .local_error('422',
247
+ 'The requested action could not be performed, semantically'\
248
+ ' incorrect, or failed business validation.',
249
+ ErrorException)
250
+ .local_error('500',
251
+ 'An internal server error has occurred.',
252
+ ErrorException)
253
+ .local_error('default',
254
+ 'The error response.',
255
+ ErrorException))
256
+ .execute
257
+ end
258
+
259
+ # Authorizes payment for an order. To successfully authorize payment for an
260
+ # order, the buyer must first approve the order or a valid payment_source
261
+ # must be provided in the request. A buyer can approve the order upon being
262
+ # redirected to the rel:approve URL that was returned in the HATEOAS links
263
+ # in the create order response.<blockquote><strong>Note:</strong> For error
264
+ # handling and troubleshooting, see <a
265
+ # href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#au
266
+ # thorize-order">Orders v2 errors</a>.</blockquote>
267
+ # @param [String] id Required parameter: The ID of the order for which to
268
+ # authorize.
269
+ # @param [String] pay_pal_request_id Optional parameter: The server stores
270
+ # keys for 6 hours. The API callers can request the times to up to 72 hours
271
+ # by speaking to their Account Manager.
272
+ # @param [String] prefer Optional parameter: The preferred server response
273
+ # upon successful completion of the request. Value
274
+ # is:<ul><li><code>return=minimal</code>. The server returns a minimal
275
+ # response to optimize communication between the API caller and the server.
276
+ # A minimal response includes the <code>id</code>, <code>status</code> and
277
+ # HATEOAS links.</li><li><code>return=representation</code>. The server
278
+ # returns a complete resource representation, including the current state of
279
+ # the resource.</li></ul>
280
+ # @param [String] pay_pal_client_metadata_id Optional parameter: Example:
281
+ # @param [String] pay_pal_auth_assertion Optional parameter: An
282
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
283
+ # merchant. For details, see <a
284
+ # href="https://developer.paypal.com/api/rest/requests/#paypal-auth-assertio
285
+ # n">PayPal-Auth-Assertion</a>.
286
+ # @param [OrderAuthorizeRequest] body Optional parameter: Example:
287
+ # @return [ApiResponse] the complete http response with raw body and status code.
288
+ def orders_authorize(options = {})
289
+ new_api_call_builder
290
+ .request(new_request_builder(HttpMethodEnum::POST,
291
+ '/v2/checkout/orders/{id}/authorize',
292
+ Server::DEFAULT)
293
+ .template_param(new_parameter(options['id'], key: 'id')
294
+ .should_encode(true))
295
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
296
+ .header_param(new_parameter(options['pay_pal_request_id'], key: 'PayPal-Request-Id'))
297
+ .header_param(new_parameter(options['prefer'], key: 'Prefer'))
298
+ .header_param(new_parameter(options['pay_pal_client_metadata_id'], key: 'PayPal-Client-Metadata-Id'))
299
+ .header_param(new_parameter(options['pay_pal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
300
+ .body_param(new_parameter(options['body']))
301
+ .header_param(new_parameter('application/json', key: 'accept'))
302
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
303
+ .auth(Single.new('Oauth2')))
304
+ .response(new_response_handler
305
+ .deserializer(APIHelper.method(:custom_type_deserializer))
306
+ .deserialize_into(OrderAuthorizeResponse.method(:from_hash))
307
+ .is_api_response(true)
308
+ .local_error('400',
309
+ 'Request is not well-formed, syntactically incorrect, or'\
310
+ ' violates schema.',
311
+ ErrorException)
312
+ .local_error('401',
313
+ 'Authentication failed due to missing authorization header, or'\
314
+ ' invalid authentication credentials.',
315
+ ErrorException)
316
+ .local_error('403',
317
+ 'The authorized payment failed due to insufficient permissions'\
318
+ '.',
319
+ ErrorException)
320
+ .local_error('404',
321
+ 'The specified resource does not exist.',
322
+ ErrorException)
323
+ .local_error('422',
324
+ 'The requested action could not be performed, semantically'\
325
+ ' incorrect, or failed business validation.',
326
+ ErrorException)
327
+ .local_error('500',
328
+ 'An internal server error has occurred.',
329
+ ErrorException)
330
+ .local_error('default',
331
+ 'The error response.',
332
+ ErrorException))
333
+ .execute
334
+ end
335
+
336
+ # Captures payment for an order. To successfully capture payment for an
337
+ # order, the buyer must first approve the order or a valid payment_source
338
+ # must be provided in the request. A buyer can approve the order upon being
339
+ # redirected to the rel:approve URL that was returned in the HATEOAS links
340
+ # in the create order response.<blockquote><strong>Note:</strong> For error
341
+ # handling and troubleshooting, see <a
342
+ # href="https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ca
343
+ # pture-order">Orders v2 errors</a>.</blockquote>
344
+ # @param [String] id Required parameter: The ID of the order for which to
345
+ # capture a payment.
346
+ # @param [String] pay_pal_request_id Optional parameter: The server stores
347
+ # keys for 6 hours. The API callers can request the times to up to 72 hours
348
+ # by speaking to their Account Manager.
349
+ # @param [String] prefer Optional parameter: The preferred server response
350
+ # upon successful completion of the request. Value
351
+ # is:<ul><li><code>return=minimal</code>. The server returns a minimal
352
+ # response to optimize communication between the API caller and the server.
353
+ # A minimal response includes the <code>id</code>, <code>status</code> and
354
+ # HATEOAS links.</li><li><code>return=representation</code>. The server
355
+ # returns a complete resource representation, including the current state of
356
+ # the resource.</li></ul>
357
+ # @param [String] pay_pal_client_metadata_id Optional parameter: Example:
358
+ # @param [String] pay_pal_auth_assertion Optional parameter: An
359
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
360
+ # merchant. For details, see <a
361
+ # href="https://developer.paypal.com/api/rest/requests/#paypal-auth-assertio
362
+ # n">PayPal-Auth-Assertion</a>.
363
+ # @param [OrderCaptureRequest] body Optional parameter: Example:
364
+ # @return [ApiResponse] the complete http response with raw body and status code.
365
+ def orders_capture(options = {})
366
+ new_api_call_builder
367
+ .request(new_request_builder(HttpMethodEnum::POST,
368
+ '/v2/checkout/orders/{id}/capture',
369
+ Server::DEFAULT)
370
+ .template_param(new_parameter(options['id'], key: 'id')
371
+ .should_encode(true))
372
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
373
+ .header_param(new_parameter(options['pay_pal_request_id'], key: 'PayPal-Request-Id'))
374
+ .header_param(new_parameter(options['prefer'], key: 'Prefer'))
375
+ .header_param(new_parameter(options['pay_pal_client_metadata_id'], key: 'PayPal-Client-Metadata-Id'))
376
+ .header_param(new_parameter(options['pay_pal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
377
+ .body_param(new_parameter(options['body']))
378
+ .header_param(new_parameter('application/json', key: 'accept'))
379
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
380
+ .auth(Single.new('Oauth2')))
381
+ .response(new_response_handler
382
+ .deserializer(APIHelper.method(:custom_type_deserializer))
383
+ .deserialize_into(Order.method(:from_hash))
384
+ .is_api_response(true)
385
+ .local_error('400',
386
+ 'Request is not well-formed, syntactically incorrect, or'\
387
+ ' violates schema.',
388
+ ErrorException)
389
+ .local_error('401',
390
+ 'Authentication failed due to missing authorization header, or'\
391
+ ' invalid authentication credentials.',
392
+ ErrorException)
393
+ .local_error('403',
394
+ 'The authorized payment failed due to insufficient permissions'\
395
+ '.',
396
+ ErrorException)
397
+ .local_error('404',
398
+ 'The specified resource does not exist.',
399
+ ErrorException)
400
+ .local_error('422',
401
+ 'The requested action could not be performed, semantically'\
402
+ ' incorrect, or failed business validation.',
403
+ ErrorException)
404
+ .local_error('500',
405
+ 'An internal server error has occurred.',
406
+ ErrorException)
407
+ .local_error('default',
408
+ 'The error response.',
409
+ ErrorException))
410
+ .execute
411
+ end
412
+
413
+ # Adds tracking information for an Order.
414
+ # @param [String] id Required parameter: The ID of the order that the
415
+ # tracking information is associated with.
416
+ # @param [OrderTrackerRequest] body Required parameter: Example:
417
+ # @param [String] pay_pal_auth_assertion Optional parameter: An
418
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
419
+ # merchant. For details, see <a
420
+ # href="https://developer.paypal.com/api/rest/requests/#paypal-auth-assertio
421
+ # n">PayPal-Auth-Assertion</a>.
422
+ # @return [ApiResponse] the complete http response with raw body and status code.
423
+ def orders_track_create(options = {})
424
+ new_api_call_builder
425
+ .request(new_request_builder(HttpMethodEnum::POST,
426
+ '/v2/checkout/orders/{id}/track',
427
+ Server::DEFAULT)
428
+ .template_param(new_parameter(options['id'], key: 'id')
429
+ .should_encode(true))
430
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
431
+ .body_param(new_parameter(options['body']))
432
+ .header_param(new_parameter(options['pay_pal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
433
+ .header_param(new_parameter('application/json', key: 'accept'))
434
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
435
+ .auth(Single.new('Oauth2')))
436
+ .response(new_response_handler
437
+ .deserializer(APIHelper.method(:custom_type_deserializer))
438
+ .deserialize_into(Order.method(:from_hash))
439
+ .is_api_response(true)
440
+ .local_error('400',
441
+ 'Request is not well-formed, syntactically incorrect, or'\
442
+ ' violates schema.',
443
+ ErrorException)
444
+ .local_error('403',
445
+ 'Authorization failed due to insufficient permissions.',
446
+ ErrorException)
447
+ .local_error('404',
448
+ 'The specified resource does not exist.',
449
+ ErrorException)
450
+ .local_error('422',
451
+ 'The requested action could not be performed, semantically'\
452
+ ' incorrect, or failed business validation.',
453
+ ErrorException)
454
+ .local_error('500',
455
+ 'An internal server error has occurred.',
456
+ ErrorException)
457
+ .local_error('default',
458
+ 'The error response.',
459
+ ErrorException))
460
+ .execute
461
+ end
462
+
463
+ # Updates or cancels the tracking information for a PayPal order, by ID.
464
+ # Updatable attributes or
465
+ # objects:<br/><br/><table><thead><th>Attribute</th><th>Op</th><th>Notes</th
466
+ # ></thead><tbody></tr><tr><td><code>items</code></td><td>replace</td><td>Us
467
+ # ing replace op for <code>items</code> will replace the entire
468
+ # <code>items</code> object with the value sent in
469
+ # request.</td></tr><tr><td><code>notify_payer</code></td><td>replace,
470
+ # add</td><td></td></tr><tr><td><code>status</code></td><td>replace</td><td>
471
+ # Only patching status to CANCELLED is currently
472
+ # supported.</td></tr></tbody></table>
473
+ # @param [String] id Required parameter: The ID of the order that the
474
+ # tracking information is associated with.
475
+ # @param [String] tracker_id Required parameter: The order tracking ID.
476
+ # @param [Array[Patch]] body Optional parameter: Example:
477
+ # @return [ApiResponse] the complete http response with raw body and status code.
478
+ def orders_trackers_patch(options = {})
479
+ new_api_call_builder
480
+ .request(new_request_builder(HttpMethodEnum::PATCH,
481
+ '/v2/checkout/orders/{id}/trackers/{tracker_id}',
482
+ Server::DEFAULT)
483
+ .template_param(new_parameter(options['id'], key: 'id')
484
+ .should_encode(true))
485
+ .template_param(new_parameter(options['tracker_id'], key: 'tracker_id')
486
+ .should_encode(true))
487
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
488
+ .body_param(new_parameter(options['body']))
489
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
490
+ .auth(Single.new('Oauth2')))
491
+ .response(new_response_handler
492
+ .is_response_void(true)
493
+ .is_api_response(true)
494
+ .local_error('400',
495
+ 'Request is not well-formed, syntactically incorrect, or'\
496
+ ' violates schema.',
497
+ ErrorException)
498
+ .local_error('403',
499
+ 'Authorization failed due to insufficient permissions.',
500
+ ErrorException)
501
+ .local_error('404',
502
+ 'The specified resource does not exist.',
503
+ ErrorException)
504
+ .local_error('422',
505
+ 'The requested action could not be performed, semantically'\
506
+ ' incorrect, or failed business validation.',
507
+ ErrorException)
508
+ .local_error('500',
509
+ 'An internal server error has occurred.',
510
+ ErrorException)
511
+ .local_error('default',
512
+ 'The error response.',
513
+ ErrorException))
514
+ .execute
515
+ end
516
+ end
517
+ end