paypal-server-sdk 1.1.0 → 2.0.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 (402) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -23
  3. data/lib/paypal_server_sdk/api_helper.rb +2 -2
  4. data/lib/paypal_server_sdk/client.rb +16 -3
  5. data/lib/paypal_server_sdk/configuration.rb +10 -8
  6. data/lib/paypal_server_sdk/controllers/base_controller.rb +4 -10
  7. data/lib/paypal_server_sdk/controllers/o_auth_authorization_controller.rb +4 -4
  8. data/lib/paypal_server_sdk/controllers/orders_controller.rb +211 -211
  9. data/lib/paypal_server_sdk/controllers/payments_controller.rb +110 -103
  10. data/lib/paypal_server_sdk/controllers/subscriptions_controller.rb +843 -0
  11. data/lib/paypal_server_sdk/controllers/transaction_search_controller.rb +178 -0
  12. data/lib/paypal_server_sdk/controllers/vault_controller.rb +95 -95
  13. data/lib/paypal_server_sdk/exceptions/api_exception.rb +2 -2
  14. data/lib/paypal_server_sdk/exceptions/default_error_exception.rb +95 -0
  15. data/lib/paypal_server_sdk/exceptions/error_exception.rb +2 -2
  16. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +2 -2
  17. data/lib/paypal_server_sdk/exceptions/search_error_exception.rb +107 -0
  18. data/lib/paypal_server_sdk/exceptions/subscription_error_exception.rb +95 -0
  19. data/lib/paypal_server_sdk/http/api_response.rb +6 -8
  20. data/lib/paypal_server_sdk/http/auth/o_auth2.rb +3 -3
  21. data/lib/paypal_server_sdk/http/http_call_back.rb +2 -2
  22. data/lib/paypal_server_sdk/http/http_method_enum.rb +2 -2
  23. data/lib/paypal_server_sdk/http/http_request.rb +2 -2
  24. data/lib/paypal_server_sdk/http/http_response.rb +2 -2
  25. data/lib/paypal_server_sdk/http/proxy_settings.rb +13 -0
  26. data/lib/paypal_server_sdk/logging/configuration/api_logging_configuration.rb +2 -2
  27. data/lib/paypal_server_sdk/logging/sdk_logger.rb +2 -2
  28. data/lib/paypal_server_sdk/models/activate_subscription_request.rb +63 -0
  29. data/lib/paypal_server_sdk/models/activity_timestamps.rb +2 -2
  30. data/lib/paypal_server_sdk/models/address.rb +2 -2
  31. data/lib/paypal_server_sdk/models/amount_breakdown.rb +4 -4
  32. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +2 -2
  33. data/lib/paypal_server_sdk/models/app_switch_context.rb +74 -0
  34. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +2 -2
  35. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +2 -2
  36. data/lib/paypal_server_sdk/models/apple_pay_card.rb +2 -2
  37. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +2 -2
  38. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +2 -2
  39. data/lib/paypal_server_sdk/models/apple_pay_experience_context.rb +2 -2
  40. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +2 -2
  41. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +2 -2
  42. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +2 -2
  43. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +2 -2
  44. data/lib/paypal_server_sdk/models/apple_pay_request.rb +2 -2
  45. data/lib/paypal_server_sdk/models/apple_pay_request_card.rb +88 -0
  46. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +3 -4
  47. data/lib/paypal_server_sdk/models/application_context_user_action.rb +29 -0
  48. data/lib/paypal_server_sdk/models/assurance_details.rb +2 -2
  49. data/lib/paypal_server_sdk/models/auction_information.rb +100 -0
  50. data/lib/paypal_server_sdk/models/authentication_response.rb +2 -2
  51. data/lib/paypal_server_sdk/models/authorization.rb +4 -4
  52. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +2 -2
  53. data/lib/paypal_server_sdk/models/authorization_status.rb +2 -2
  54. data/lib/paypal_server_sdk/models/authorization_status_details.rb +2 -2
  55. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +2 -2
  56. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +4 -4
  57. data/lib/paypal_server_sdk/models/avs_code.rb +2 -2
  58. data/lib/paypal_server_sdk/models/balance_information.rb +106 -0
  59. data/lib/paypal_server_sdk/models/balances_response.rb +111 -0
  60. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +2 -2
  61. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +2 -2
  62. data/lib/paypal_server_sdk/models/bank_request.rb +71 -0
  63. data/lib/paypal_server_sdk/models/base_model.rb +2 -2
  64. data/lib/paypal_server_sdk/models/billing_cycle.rb +7 -18
  65. data/lib/paypal_server_sdk/models/billing_cycle_override.rb +91 -0
  66. data/lib/paypal_server_sdk/models/billing_plan.rb +212 -0
  67. data/lib/paypal_server_sdk/models/bin_details.rb +2 -2
  68. data/lib/paypal_server_sdk/models/blik_experience_context.rb +10 -8
  69. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +2 -2
  70. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +2 -2
  71. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +2 -2
  72. data/lib/paypal_server_sdk/models/blik_payment_object.rb +2 -2
  73. data/lib/paypal_server_sdk/models/blik_payment_request.rb +2 -2
  74. data/lib/paypal_server_sdk/models/callback_configuration.rb +2 -2
  75. data/lib/paypal_server_sdk/models/callback_events.rb +2 -2
  76. data/lib/paypal_server_sdk/models/cancel_subscription_request.rb +60 -0
  77. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +2 -2
  78. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +2 -2
  79. data/lib/paypal_server_sdk/models/capture_request.rb +33 -32
  80. data/lib/paypal_server_sdk/models/capture_status.rb +2 -2
  81. data/lib/paypal_server_sdk/models/capture_status_details.rb +2 -2
  82. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +2 -2
  83. data/lib/paypal_server_sdk/models/capture_subscription_request.rb +78 -0
  84. data/lib/paypal_server_sdk/models/capture_type.rb +20 -0
  85. data/lib/paypal_server_sdk/models/captured_payment.rb +6 -6
  86. data/lib/paypal_server_sdk/models/card_attributes.rb +2 -2
  87. data/lib/paypal_server_sdk/models/card_attributes_response.rb +2 -2
  88. data/lib/paypal_server_sdk/models/card_authentication_response.rb +2 -2
  89. data/lib/paypal_server_sdk/models/card_brand.rb +17 -2
  90. data/lib/paypal_server_sdk/models/card_customer.rb +98 -0
  91. data/lib/paypal_server_sdk/models/card_customer_information.rb +2 -2
  92. data/lib/paypal_server_sdk/models/card_experience_context.rb +2 -2
  93. data/lib/paypal_server_sdk/models/card_from_request.rb +2 -2
  94. data/lib/paypal_server_sdk/models/card_payment_token_entity.rb +2 -2
  95. data/lib/paypal_server_sdk/models/card_request.rb +2 -2
  96. data/lib/paypal_server_sdk/models/card_response.rb +2 -2
  97. data/lib/paypal_server_sdk/models/card_response_address.rb +2 -2
  98. data/lib/paypal_server_sdk/models/card_response_with_billing_address.rb +100 -0
  99. data/lib/paypal_server_sdk/models/card_stored_credential.rb +4 -4
  100. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +2 -2
  101. data/lib/paypal_server_sdk/models/card_type.rb +2 -2
  102. data/lib/paypal_server_sdk/models/card_vault_response.rb +2 -2
  103. data/lib/paypal_server_sdk/models/card_verification.rb +2 -2
  104. data/lib/paypal_server_sdk/models/card_verification_details.rb +8 -8
  105. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +2 -2
  106. data/lib/paypal_server_sdk/models/card_verification_status.rb +2 -2
  107. data/lib/paypal_server_sdk/models/cart_information.rb +94 -0
  108. data/lib/paypal_server_sdk/models/checkout_option.rb +77 -0
  109. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +2 -2
  110. data/lib/paypal_server_sdk/models/cobranded_card.rb +2 -2
  111. data/lib/paypal_server_sdk/models/confirm_order_request.rb +2 -2
  112. data/lib/paypal_server_sdk/models/create_subscription_request.rb +151 -0
  113. data/lib/paypal_server_sdk/models/customer.rb +2 -2
  114. data/lib/paypal_server_sdk/models/customer_information.rb +2 -2
  115. data/lib/paypal_server_sdk/models/customer_response.rb +2 -2
  116. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +2 -2
  117. data/lib/paypal_server_sdk/models/cvv_code.rb +2 -2
  118. data/lib/paypal_server_sdk/models/cycle_execution.rb +124 -0
  119. data/lib/paypal_server_sdk/models/disbursement_mode.rb +2 -2
  120. data/lib/paypal_server_sdk/models/dispute_category.rb +2 -2
  121. data/lib/paypal_server_sdk/models/eci_flag.rb +2 -2
  122. data/lib/paypal_server_sdk/models/enrollment_status.rb +2 -2
  123. data/lib/paypal_server_sdk/models/eps_payment_object.rb +2 -2
  124. data/lib/paypal_server_sdk/models/eps_payment_request.rb +2 -2
  125. data/lib/paypal_server_sdk/models/error_details.rb +2 -2
  126. data/lib/paypal_server_sdk/models/exchange_rate.rb +2 -2
  127. data/lib/paypal_server_sdk/models/experience_context.rb +9 -7
  128. data/lib/paypal_server_sdk/models/experience_context_shipping_preference.rb +32 -0
  129. data/lib/paypal_server_sdk/models/experience_status.rb +33 -0
  130. data/lib/paypal_server_sdk/models/failed_payment_details.rb +98 -0
  131. data/lib/paypal_server_sdk/models/frequency.rb +75 -0
  132. data/lib/paypal_server_sdk/models/fulfillment_type.rb +2 -2
  133. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +2 -2
  134. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +2 -2
  135. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +2 -2
  136. data/lib/paypal_server_sdk/models/google_pay_card.rb +2 -2
  137. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +2 -2
  138. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +2 -2
  139. data/lib/paypal_server_sdk/models/google_pay_experience_context.rb +2 -2
  140. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +2 -2
  141. data/lib/paypal_server_sdk/models/google_pay_request.rb +2 -2
  142. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +2 -2
  143. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +2 -2
  144. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +2 -2
  145. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +2 -2
  146. data/lib/paypal_server_sdk/models/incentive_details.rb +99 -0
  147. data/lib/paypal_server_sdk/models/incentive_information.rb +71 -0
  148. data/lib/paypal_server_sdk/models/interval_unit.rb +29 -0
  149. data/lib/paypal_server_sdk/models/item.rb +2 -2
  150. data/lib/paypal_server_sdk/models/item_category.rb +2 -2
  151. data/lib/paypal_server_sdk/models/item_details.rb +287 -0
  152. data/lib/paypal_server_sdk/models/item_request.rb +163 -0
  153. data/lib/paypal_server_sdk/models/last_payment_details.rb +75 -0
  154. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +2 -2
  155. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +2 -2
  156. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +2 -2
  157. data/lib/paypal_server_sdk/models/line_item.rb +2 -2
  158. data/lib/paypal_server_sdk/models/link_description.rb +2 -2
  159. data/lib/paypal_server_sdk/models/link_http_method.rb +10 -10
  160. data/lib/paypal_server_sdk/models/merchant_preferences.rb +73 -0
  161. data/lib/paypal_server_sdk/models/mobile_return_flow.rb +28 -0
  162. data/lib/paypal_server_sdk/models/mobile_web_context.rb +76 -0
  163. data/lib/paypal_server_sdk/models/modify_subscription_request.rb +124 -0
  164. data/lib/paypal_server_sdk/models/modify_subscription_response.rb +141 -0
  165. data/lib/paypal_server_sdk/models/money.rb +2 -2
  166. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +2 -2
  167. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +2 -2
  168. data/lib/paypal_server_sdk/models/name.rb +2 -2
  169. data/lib/paypal_server_sdk/models/native_app_context.rb +72 -0
  170. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +2 -2
  171. data/lib/paypal_server_sdk/models/network_token.rb +2 -2
  172. data/lib/paypal_server_sdk/models/{network_transaction_reference.rb → network_transaction.rb} +14 -11
  173. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +2 -2
  174. data/lib/paypal_server_sdk/models/o_auth_provider_error.rb +2 -2
  175. data/lib/paypal_server_sdk/models/o_auth_token.rb +2 -2
  176. data/lib/paypal_server_sdk/models/one_time_charge.rb +2 -2
  177. data/lib/paypal_server_sdk/models/order.rb +7 -4
  178. data/lib/paypal_server_sdk/models/order_application_context.rb +26 -15
  179. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +2 -2
  180. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +3 -5
  181. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +2 -2
  182. data/lib/paypal_server_sdk/models/order_authorize_request.rb +2 -2
  183. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +2 -2
  184. data/lib/paypal_server_sdk/models/order_authorize_response.rb +16 -9
  185. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +2 -2
  186. data/lib/paypal_server_sdk/models/order_billing_plan.rb +2 -2
  187. data/lib/paypal_server_sdk/models/order_capture_request.rb +2 -2
  188. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +2 -2
  189. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +2 -2
  190. data/lib/paypal_server_sdk/models/order_request.rb +7 -4
  191. data/lib/paypal_server_sdk/models/order_status.rb +2 -2
  192. data/lib/paypal_server_sdk/models/order_tracker_item.rb +2 -2
  193. data/lib/paypal_server_sdk/models/order_tracker_request.rb +2 -2
  194. data/lib/paypal_server_sdk/models/order_tracker_response.rb +2 -2
  195. data/lib/paypal_server_sdk/models/order_tracker_status.rb +2 -2
  196. data/lib/paypal_server_sdk/models/orders_capture.rb +4 -4
  197. data/lib/paypal_server_sdk/models/orders_card_verification_method.rb +2 -2
  198. data/lib/paypal_server_sdk/models/os_type.rb +26 -0
  199. data/lib/paypal_server_sdk/models/p24_payment_object.rb +2 -2
  200. data/lib/paypal_server_sdk/models/p24_payment_request.rb +2 -2
  201. data/lib/paypal_server_sdk/models/pa_res_status.rb +2 -2
  202. data/lib/paypal_server_sdk/models/participant_metadata.rb +2 -2
  203. data/lib/paypal_server_sdk/models/patch.rb +2 -2
  204. data/lib/paypal_server_sdk/models/patch_op.rb +2 -2
  205. data/lib/paypal_server_sdk/models/payee_base.rb +2 -2
  206. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +2 -2
  207. data/lib/paypal_server_sdk/models/payer.rb +4 -3
  208. data/lib/paypal_server_sdk/models/payer_base.rb +2 -2
  209. data/lib/paypal_server_sdk/models/payer_information.rb +146 -0
  210. data/lib/paypal_server_sdk/models/payer_name.rb +128 -0
  211. data/lib/paypal_server_sdk/models/payment_advice_code.rb +2 -2
  212. data/lib/paypal_server_sdk/models/payment_authorization.rb +4 -4
  213. data/lib/paypal_server_sdk/models/payment_collection.rb +2 -2
  214. data/lib/paypal_server_sdk/models/payment_initiator.rb +2 -2
  215. data/lib/paypal_server_sdk/models/payment_instruction.rb +2 -2
  216. data/lib/paypal_server_sdk/models/payment_method.rb +63 -0
  217. data/lib/paypal_server_sdk/models/payment_method_preference.rb +2 -2
  218. data/lib/paypal_server_sdk/models/payment_preferences.rb +105 -0
  219. data/lib/paypal_server_sdk/models/payment_preferences_override.rb +107 -0
  220. data/lib/paypal_server_sdk/models/payment_source.rb +2 -2
  221. data/lib/paypal_server_sdk/models/payment_source_response.rb +2 -2
  222. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +2 -2
  223. data/lib/paypal_server_sdk/models/payment_token_request.rb +2 -2
  224. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +2 -2
  225. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +2 -2
  226. data/lib/paypal_server_sdk/models/payment_token_response.rb +5 -3
  227. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +4 -4
  228. data/lib/paypal_server_sdk/models/payment_token_status.rb +4 -4
  229. data/lib/paypal_server_sdk/models/payments_capture.rb +6 -6
  230. data/lib/paypal_server_sdk/models/paypal_experience_landing_page.rb +10 -3
  231. data/lib/paypal_server_sdk/models/paypal_experience_user_action.rb +2 -2
  232. data/lib/paypal_server_sdk/models/paypal_payment_token.rb +8 -7
  233. data/lib/paypal_server_sdk/models/paypal_payment_token_customer_type.rb +2 -2
  234. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_type.rb +2 -2
  235. data/lib/paypal_server_sdk/models/paypal_reference_id_type.rb +29 -0
  236. data/lib/paypal_server_sdk/models/paypal_wallet.rb +2 -2
  237. data/lib/paypal_server_sdk/models/paypal_wallet_account_verification_status.rb +2 -2
  238. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +4 -3
  239. data/lib/paypal_server_sdk/models/paypal_wallet_attributes_response.rb +2 -2
  240. data/lib/paypal_server_sdk/models/paypal_wallet_contact_preference.rb +2 -2
  241. data/lib/paypal_server_sdk/models/paypal_wallet_context_shipping_preference.rb +2 -2
  242. data/lib/paypal_server_sdk/models/paypal_wallet_customer.rb +2 -2
  243. data/lib/paypal_server_sdk/models/paypal_wallet_customer_request.rb +2 -2
  244. data/lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb +22 -9
  245. data/lib/paypal_server_sdk/models/paypal_wallet_response.rb +21 -6
  246. data/lib/paypal_server_sdk/models/paypal_wallet_stored_credential.rb +4 -3
  247. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +12 -22
  248. data/lib/paypal_server_sdk/models/paypal_wallet_vault_response.rb +2 -2
  249. data/lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb +2 -2
  250. data/lib/paypal_server_sdk/models/phone.rb +2 -2
  251. data/lib/paypal_server_sdk/models/phone_number.rb +4 -2
  252. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +4 -2
  253. data/lib/paypal_server_sdk/models/phone_number_with_optional_country_code.rb +81 -0
  254. data/lib/paypal_server_sdk/models/phone_type.rb +7 -7
  255. data/lib/paypal_server_sdk/models/phone_with_type.rb +2 -2
  256. data/lib/paypal_server_sdk/models/plan.rb +7 -17
  257. data/lib/paypal_server_sdk/models/plan_collection.rb +111 -0
  258. data/lib/paypal_server_sdk/models/plan_details.rb +147 -0
  259. data/lib/paypal_server_sdk/models/plan_override.rb +96 -0
  260. data/lib/paypal_server_sdk/models/plan_request.rb +154 -0
  261. data/lib/paypal_server_sdk/models/plan_request_status.rb +28 -0
  262. data/lib/paypal_server_sdk/models/platform_fee.rb +2 -2
  263. data/lib/paypal_server_sdk/models/pricing_model.rb +2 -2
  264. data/lib/paypal_server_sdk/models/pricing_scheme.rb +2 -2
  265. data/lib/paypal_server_sdk/models/pricing_tier.rb +83 -0
  266. data/lib/paypal_server_sdk/models/processor_response.rb +2 -2
  267. data/lib/paypal_server_sdk/models/processor_response_code.rb +2 -2
  268. data/lib/paypal_server_sdk/models/purchase_unit.rb +2 -2
  269. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +24 -14
  270. data/lib/paypal_server_sdk/models/reason_code.rb +41 -0
  271. data/lib/paypal_server_sdk/models/reauthorize_request.rb +2 -3
  272. data/lib/paypal_server_sdk/models/refund.rb +2 -2
  273. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +2 -2
  274. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +2 -2
  275. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +2 -2
  276. data/lib/paypal_server_sdk/models/refund_request.rb +2 -2
  277. data/lib/paypal_server_sdk/models/refund_status.rb +2 -2
  278. data/lib/paypal_server_sdk/models/refund_status_details.rb +2 -2
  279. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +2 -2
  280. data/lib/paypal_server_sdk/models/related_identifiers.rb +2 -2
  281. data/lib/paypal_server_sdk/models/return_flow.rb +28 -0
  282. data/lib/paypal_server_sdk/models/risk_supplementary_data.rb +2 -2
  283. data/lib/paypal_server_sdk/models/search_response.rb +176 -0
  284. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +2 -2
  285. data/lib/paypal_server_sdk/models/seller_protection.rb +2 -2
  286. data/lib/paypal_server_sdk/models/seller_protection_status.rb +2 -2
  287. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +2 -2
  288. data/lib/paypal_server_sdk/models/sepa_debit_experience_context.rb +88 -0
  289. data/lib/paypal_server_sdk/models/sepa_debit_request.rb +64 -0
  290. data/lib/paypal_server_sdk/models/setup_fee_failure_action.rb +24 -0
  291. data/lib/paypal_server_sdk/models/setup_token_request.rb +2 -2
  292. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +5 -5
  293. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +28 -7
  294. data/lib/paypal_server_sdk/models/setup_token_response.rb +5 -3
  295. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +2 -2
  296. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +4 -4
  297. data/lib/paypal_server_sdk/models/shipment_carrier.rb +111 -3
  298. data/lib/paypal_server_sdk/models/shipping_details.rb +2 -2
  299. data/lib/paypal_server_sdk/models/shipping_information.rb +101 -0
  300. data/lib/paypal_server_sdk/models/shipping_name.rb +2 -2
  301. data/lib/paypal_server_sdk/models/shipping_option.rb +2 -2
  302. data/lib/paypal_server_sdk/models/shipping_type.rb +2 -2
  303. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +33 -33
  304. data/lib/paypal_server_sdk/models/simple_postal_address_coarse_grained.rb +130 -0
  305. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +2 -2
  306. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +2 -2
  307. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +2 -2
  308. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +2 -2
  309. data/lib/paypal_server_sdk/models/store_information.rb +71 -0
  310. data/lib/paypal_server_sdk/models/stored_payment_source.rb +4 -4
  311. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +2 -2
  312. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +2 -2
  313. data/lib/paypal_server_sdk/models/subscriber.rb +84 -0
  314. data/lib/paypal_server_sdk/models/subscriber_request.rb +97 -0
  315. data/lib/paypal_server_sdk/models/subscription.rb +205 -0
  316. data/lib/paypal_server_sdk/models/subscription_amount_with_breakdown.rb +119 -0
  317. data/lib/paypal_server_sdk/models/subscription_application_context.rb +134 -0
  318. data/lib/paypal_server_sdk/models/subscription_billing_cycle.rb +108 -0
  319. data/lib/paypal_server_sdk/models/subscription_billing_information.rb +148 -0
  320. data/lib/paypal_server_sdk/models/subscription_card_request.rb +141 -0
  321. data/lib/paypal_server_sdk/models/subscription_collection.rb +90 -0
  322. data/lib/paypal_server_sdk/models/subscription_customer_information.rb +84 -0
  323. data/lib/paypal_server_sdk/models/subscription_patch_application_context.rb +122 -0
  324. data/lib/paypal_server_sdk/models/subscription_payer_name.rb +114 -0
  325. data/lib/paypal_server_sdk/models/subscription_payment_source.rb +65 -0
  326. data/lib/paypal_server_sdk/models/subscription_payment_source_response.rb +63 -0
  327. data/lib/paypal_server_sdk/models/subscription_plan_status.rb +28 -0
  328. data/lib/paypal_server_sdk/models/subscription_pricing_model.rb +23 -0
  329. data/lib/paypal_server_sdk/models/subscription_pricing_scheme.rb +129 -0
  330. data/lib/paypal_server_sdk/models/subscription_transaction_details.rb +118 -0
  331. data/lib/paypal_server_sdk/models/subscriptions_card_attributes.rb +83 -0
  332. data/lib/paypal_server_sdk/models/subscriptions_card_brand.rb +97 -0
  333. data/lib/paypal_server_sdk/models/supplementary_data.rb +2 -2
  334. data/lib/paypal_server_sdk/models/suspend_subscription.rb +60 -0
  335. data/lib/paypal_server_sdk/models/tax_amount.rb +63 -0
  336. data/lib/paypal_server_sdk/models/tax_id_type.rb +2 -2
  337. data/lib/paypal_server_sdk/models/tax_info.rb +2 -2
  338. data/lib/paypal_server_sdk/models/taxes.rb +71 -0
  339. data/lib/paypal_server_sdk/models/taxes_override.rb +72 -0
  340. data/lib/paypal_server_sdk/models/tenure_type.rb +5 -3
  341. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +2 -2
  342. data/lib/paypal_server_sdk/models/three_d_secure_card_authentication_response.rb +2 -2
  343. data/lib/paypal_server_sdk/models/token.rb +2 -2
  344. data/lib/paypal_server_sdk/models/token_type.rb +2 -2
  345. data/lib/paypal_server_sdk/models/transaction_details.rb +126 -0
  346. data/lib/paypal_server_sdk/models/transaction_information.rb +494 -0
  347. data/lib/paypal_server_sdk/models/{order_update_callback_error_response_details.rb → transaction_search_error_details.rb} +32 -10
  348. data/lib/paypal_server_sdk/models/transactions_list.rb +111 -0
  349. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +2 -2
  350. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +2 -2
  351. data/lib/paypal_server_sdk/models/universal_product_code.rb +2 -2
  352. data/lib/paypal_server_sdk/models/upc_type.rb +2 -2
  353. data/lib/paypal_server_sdk/models/update_pricing_scheme.rb +72 -0
  354. data/lib/paypal_server_sdk/models/update_pricing_schemes_request.rb +69 -0
  355. data/lib/paypal_server_sdk/models/usage_pattern.rb +2 -2
  356. data/lib/paypal_server_sdk/models/vault_apple_pay_request.rb +73 -0
  357. data/lib/paypal_server_sdk/models/{setup_token_card_experience_context.rb → vault_card_experience_context.rb} +27 -18
  358. data/lib/paypal_server_sdk/models/vault_card_verification_method.rb +2 -2
  359. data/lib/paypal_server_sdk/models/vault_customer.rb +2 -2
  360. data/lib/paypal_server_sdk/models/vault_experience_context.rb +35 -12
  361. data/lib/paypal_server_sdk/models/vault_instruction.rb +2 -2
  362. data/lib/paypal_server_sdk/models/vault_instruction_action.rb +2 -2
  363. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +2 -2
  364. data/lib/paypal_server_sdk/models/vault_paypal_wallet_request.rb +3 -3
  365. data/lib/paypal_server_sdk/models/vault_response.rb +2 -2
  366. data/lib/paypal_server_sdk/models/vault_response_customer.rb +2 -2
  367. data/lib/paypal_server_sdk/models/vault_status.rb +2 -2
  368. data/lib/paypal_server_sdk/models/vault_token_request.rb +2 -2
  369. data/lib/paypal_server_sdk/models/vault_token_request_type.rb +2 -2
  370. data/lib/paypal_server_sdk/models/vault_user_action.rb +29 -0
  371. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +6 -6
  372. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +2 -2
  373. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +21 -7
  374. data/lib/paypal_server_sdk/models/{vault_venmo_experience_context.rb → venmo_experience_context.rb} +26 -16
  375. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +8 -7
  376. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +2 -2
  377. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +2 -2
  378. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +2 -2
  379. data/lib/paypal_server_sdk/models/venmo_vault_response.rb +100 -0
  380. data/lib/paypal_server_sdk/models/venmo_vault_response_status.rb +31 -0
  381. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +2 -2
  382. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +5 -5
  383. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +2 -2
  384. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +24 -10
  385. data/lib/paypal_server_sdk/models/{shipping_preference.rb → venmo_wallet_experience_context_shipping_preference.rb} +4 -4
  386. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context_user_action.rb +29 -0
  387. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +2 -2
  388. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +16 -6
  389. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +2 -2
  390. data/lib/paypal_server_sdk/utilities/date_time_helper.rb +2 -2
  391. data/lib/paypal_server_sdk/utilities/file_wrapper.rb +2 -2
  392. data/lib/paypal_server_sdk.rb +252 -160
  393. metadata +111 -22
  394. data/lib/paypal_server_sdk/models/order_update_callback_error_response.rb +0 -89
  395. data/lib/paypal_server_sdk/models/order_update_callback_request.rb +0 -111
  396. data/lib/paypal_server_sdk/models/order_update_callback_response.rb +0 -72
  397. data/lib/paypal_server_sdk/models/order_update_callback_shipping_address.rb +0 -107
  398. data/lib/paypal_server_sdk/models/order_update_callback_shipping_option.rb +0 -93
  399. data/lib/paypal_server_sdk/models/payments_payment_advice_code.rb +0 -42
  400. data/lib/paypal_server_sdk/models/payments_processor_response.rb +0 -98
  401. data/lib/paypal_server_sdk/models/shipping_options_purchase_unit.rb +0 -121
  402. data/lib/paypal_server_sdk/models/supplementary_purchase_data.rb +0 -76
@@ -1,11 +1,123 @@
1
1
  # paypal_server_sdk
2
2
  #
3
- # This file was automatically generated by APIMATIC v2.0
4
- # ( https://apimatic.io ).
3
+ # This file was automatically generated by APIMATIC v3.0
4
+ # ( https://www.apimatic.io ).
5
5
 
6
6
  module PaypalServerSdk
7
7
  # OrdersController
8
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 checkout or multiparty checkout. Note: For
12
+ # error handling and troubleshooting, see Orders v2 errors.
13
+ # @param [OrderRequest] body Required parameter: TODO: type description
14
+ # here
15
+ # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
16
+ # uses a request header to invoke negative testing in the sandbox. This
17
+ # header configures the sandbox into a negative testing state for
18
+ # transactions that include the merchant.
19
+ # @param [String] paypal_request_id Optional parameter: The server stores
20
+ # keys for 6 hours. The API callers can request the times to up to 72 hours
21
+ # by speaking to their Account Manager. It is mandatory for all single-step
22
+ # create order calls (E.g. Create Order Request with payment source
23
+ # information like Card, PayPal.vault_id, PayPal.billing_agreement_id,
24
+ # etc).
25
+ # @param [String] paypal_partner_attribution_id Optional parameter: TODO:
26
+ # type description here
27
+ # @param [String] paypal_client_metadata_id Optional parameter: TODO: type
28
+ # description here
29
+ # @param [String] prefer Optional parameter: The preferred server response
30
+ # upon successful completion of the request. Value is: return=minimal. The
31
+ # server returns a minimal response to optimize communication between the
32
+ # API caller and the server. A minimal response includes the id, status and
33
+ # HATEOAS links. return=representation. The server returns a complete
34
+ # resource representation, including the current state of the resource.
35
+ # @param [String] paypal_auth_assertion Optional parameter: An
36
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
37
+ # merchant. For details, see PayPal-Auth-Assertion.
38
+ # @return [ApiResponse] Complete http response with raw body and status code.
39
+ def create_order(options = {})
40
+ @api_call
41
+ .request(new_request_builder(HttpMethodEnum::POST,
42
+ '/v2/checkout/orders',
43
+ Server::DEFAULT)
44
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
45
+ .body_param(new_parameter(options['body']))
46
+ .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
47
+ .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
48
+ .header_param(new_parameter(options['paypal_partner_attribution_id'], key: 'PayPal-Partner-Attribution-Id'))
49
+ .header_param(new_parameter(options['paypal_client_metadata_id'], key: 'PayPal-Client-Metadata-Id'))
50
+ .header_param(new_parameter(options['prefer'], key: 'Prefer'))
51
+ .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
52
+ .header_param(new_parameter('application/json', key: 'accept'))
53
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
54
+ .auth(Single.new('Oauth2')))
55
+ .response(new_response_handler
56
+ .deserializer(APIHelper.method(:custom_type_deserializer))
57
+ .deserialize_into(Order.method(:from_hash))
58
+ .is_api_response(true)
59
+ .local_error('400',
60
+ 'Request is not well-formed, syntactically incorrect, or'\
61
+ ' violates schema.',
62
+ ErrorException)
63
+ .local_error('401',
64
+ 'Authentication failed due to missing authorization header, or'\
65
+ ' invalid authentication credentials.',
66
+ ErrorException)
67
+ .local_error('422',
68
+ 'The requested action could not be performed, semantically'\
69
+ ' incorrect, or failed business validation.',
70
+ ErrorException)
71
+ .local_error('default',
72
+ 'The error response.',
73
+ ErrorException))
74
+ .execute
75
+ end
76
+
77
+ # Shows details for an order, by ID. Note: For error handling and
78
+ # troubleshooting, see Orders v2 errors.
79
+ # @param [String] id Required parameter: The ID of the order for which to
80
+ # show details.
81
+ # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
82
+ # uses a request header to invoke negative testing in the sandbox. This
83
+ # header configures the sandbox into a negative testing state for
84
+ # transactions that include the merchant.
85
+ # @param [String] paypal_auth_assertion Optional parameter: An
86
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
87
+ # merchant. For details, see PayPal-Auth-Assertion.
88
+ # @param [String] fields Optional parameter: A comma-separated list of
89
+ # fields that should be returned for the order. Valid filter field is
90
+ # `payment_source`.
91
+ # @return [ApiResponse] Complete http response with raw body and status code.
92
+ def get_order(options = {})
93
+ @api_call
94
+ .request(new_request_builder(HttpMethodEnum::GET,
95
+ '/v2/checkout/orders/{id}',
96
+ Server::DEFAULT)
97
+ .template_param(new_parameter(options['id'], key: 'id')
98
+ .should_encode(true))
99
+ .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
100
+ .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
101
+ .query_param(new_parameter(options['fields'], key: 'fields'))
102
+ .header_param(new_parameter('application/json', key: 'accept'))
103
+ .auth(Single.new('Oauth2')))
104
+ .response(new_response_handler
105
+ .deserializer(APIHelper.method(:custom_type_deserializer))
106
+ .deserialize_into(Order.method(:from_hash))
107
+ .is_api_response(true)
108
+ .local_error('401',
109
+ 'Authentication failed due to missing authorization header, or'\
110
+ ' invalid authentication credentials.',
111
+ ErrorException)
112
+ .local_error('404',
113
+ 'The specified resource does not exist.',
114
+ ErrorException)
115
+ .local_error('default',
116
+ 'The error response.',
117
+ ErrorException))
118
+ .execute
119
+ end
120
+
9
121
  # Updates an order with a `CREATED` or `APPROVED` status. You cannot update
10
122
  # an order with the `COMPLETED` status.<br/><br/>To make an update, you must
11
123
  # provide a `reference_id`. If you omit this value with an order that
@@ -76,9 +188,9 @@ module PaypalServerSdk
76
188
  # merchant. For details, see PayPal-Auth-Assertion.
77
189
  # @param [Array[Patch]] body Optional parameter: TODO: type description
78
190
  # here
79
- # @return [ApiResponse] the complete http response with raw body and status code.
191
+ # @return [ApiResponse] Complete http response with raw body and status code.
80
192
  def patch_order(options = {})
81
- new_api_call_builder
193
+ @api_call
82
194
  .request(new_request_builder(HttpMethodEnum::PATCH,
83
195
  '/v2/checkout/orders/{id}',
84
196
  Server::DEFAULT)
@@ -114,163 +226,39 @@ module PaypalServerSdk
114
226
  .execute
115
227
  end
116
228
 
117
- # Authorizes payment for an order. To successfully authorize payment for an
118
- # order, the buyer must first approve the order or a valid payment_source
119
- # must be provided in the request. A buyer can approve the order upon being
120
- # redirected to the rel:approve URL that was returned in the HATEOAS links
121
- # in the create order response. Note: For error handling and
122
- # troubleshooting, see Orders v2 errors.
123
- # @param [String] id Required parameter: The ID of the order for which to
124
- # authorize.
125
- # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
126
- # uses a request header to invoke negative testing in the sandbox. This
127
- # header configures the sandbox into a negative testing state for
128
- # transactions that include the merchant.
129
- # @param [String] paypal_request_id Optional parameter: The server stores
130
- # keys for 6 hours. The API callers can request the times to up to 72 hours
131
- # by speaking to their Account Manager. It is mandatory for all single-step
132
- # create order calls (E.g. Create Order Request with payment source
133
- # information like Card, PayPal.vault_id, PayPal.billing_agreement_id,
134
- # etc).
229
+ # Payer confirms their intent to pay for the the Order with the given
230
+ # payment source.
231
+ # @param [String] id Required parameter: The ID of the order for which the
232
+ # payer confirms their intent to pay.
233
+ # @param [String] paypal_client_metadata_id Optional parameter: TODO: type
234
+ # description here
235
+ # @param [String] paypal_auth_assertion Optional parameter: An
236
+ # API-caller-provided JSON Web Token (JWT) assertion that identifies the
237
+ # merchant. For details, see PayPal-Auth-Assertion.
135
238
  # @param [String] prefer Optional parameter: The preferred server response
136
239
  # upon successful completion of the request. Value is: return=minimal. The
137
240
  # server returns a minimal response to optimize communication between the
138
241
  # API caller and the server. A minimal response includes the id, status and
139
242
  # HATEOAS links. return=representation. The server returns a complete
140
243
  # resource representation, including the current state of the resource.
141
- # @param [String] paypal_client_metadata_id Optional parameter: TODO: type
142
- # description here
143
- # @param [String] paypal_auth_assertion Optional parameter: An
144
- # API-caller-provided JSON Web Token (JWT) assertion that identifies the
145
- # merchant. For details, see PayPal-Auth-Assertion.
146
- # @param [OrderAuthorizeRequest] body Optional parameter: TODO: type
244
+ # @param [ConfirmOrderRequest] body Optional parameter: TODO: type
147
245
  # description here
148
- # @return [ApiResponse] the complete http response with raw body and status code.
149
- def authorize_order(options = {})
150
- new_api_call_builder
246
+ # @return [ApiResponse] Complete http response with raw body and status code.
247
+ def confirm_order(options = {})
248
+ @api_call
151
249
  .request(new_request_builder(HttpMethodEnum::POST,
152
- '/v2/checkout/orders/{id}/authorize',
250
+ '/v2/checkout/orders/{id}/confirm-payment-source',
153
251
  Server::DEFAULT)
154
252
  .template_param(new_parameter(options['id'], key: 'id')
155
253
  .should_encode(true))
156
254
  .header_param(new_parameter('application/json', key: 'Content-Type'))
157
- .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
158
- .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
159
- .header_param(new_parameter(options['prefer'], key: 'Prefer'))
160
255
  .header_param(new_parameter(options['paypal_client_metadata_id'], key: 'PayPal-Client-Metadata-Id'))
161
256
  .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
257
+ .header_param(new_parameter(options['prefer'], key: 'Prefer'))
162
258
  .body_param(new_parameter(options['body']))
163
259
  .header_param(new_parameter('application/json', key: 'accept'))
164
260
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
165
261
  .auth(Single.new('Oauth2')))
166
- .response(new_response_handler
167
- .deserializer(APIHelper.method(:custom_type_deserializer))
168
- .deserialize_into(OrderAuthorizeResponse.method(:from_hash))
169
- .is_api_response(true)
170
- .local_error('400',
171
- 'Request is not well-formed, syntactically incorrect, or'\
172
- ' violates schema.',
173
- ErrorException)
174
- .local_error('401',
175
- 'Authentication failed due to missing authorization header, or'\
176
- ' invalid authentication credentials.',
177
- ErrorException)
178
- .local_error('403',
179
- 'The authorized payment failed due to insufficient permissions'\
180
- '.',
181
- ErrorException)
182
- .local_error('404',
183
- 'The specified resource does not exist.',
184
- ErrorException)
185
- .local_error('422',
186
- 'The requested action could not be performed, semantically'\
187
- ' incorrect, or failed business validation.',
188
- ErrorException)
189
- .local_error('500',
190
- 'An internal server error has occurred.',
191
- ErrorException)
192
- .local_error('default',
193
- 'The error response.',
194
- ErrorException))
195
- .execute
196
- end
197
-
198
- # Updates or cancels the tracking information for a PayPal order, by ID.
199
- # Updatable attributes or objects: Attribute Op Notes items replace Using
200
- # replace op for items will replace the entire items object with the value
201
- # sent in request. notify_payer replace, add status replace Only patching
202
- # status to CANCELLED is currently supported.
203
- # @param [String] id Required parameter: The ID of the order that the
204
- # tracking information is associated with.
205
- # @param [String] tracker_id Required parameter: The order tracking ID.
206
- # @param [String] paypal_auth_assertion Optional parameter: An
207
- # API-caller-provided JSON Web Token (JWT) assertion that identifies the
208
- # merchant. For details, see PayPal-Auth-Assertion.
209
- # @param [Array[Patch]] body Optional parameter: TODO: type description
210
- # here
211
- # @return [ApiResponse] the complete http response with raw body and status code.
212
- def update_order_tracking(options = {})
213
- new_api_call_builder
214
- .request(new_request_builder(HttpMethodEnum::PATCH,
215
- '/v2/checkout/orders/{id}/trackers/{tracker_id}',
216
- Server::DEFAULT)
217
- .template_param(new_parameter(options['id'], key: 'id')
218
- .should_encode(true))
219
- .template_param(new_parameter(options['tracker_id'], key: 'tracker_id')
220
- .should_encode(true))
221
- .header_param(new_parameter('application/json', key: 'Content-Type'))
222
- .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
223
- .body_param(new_parameter(options['body']))
224
- .body_serializer(proc do |param| param.to_json unless param.nil? end)
225
- .auth(Single.new('Oauth2')))
226
- .response(new_response_handler
227
- .is_response_void(true)
228
- .is_api_response(true)
229
- .local_error('400',
230
- 'Request is not well-formed, syntactically incorrect, or'\
231
- ' violates schema.',
232
- ErrorException)
233
- .local_error('403',
234
- 'Authorization failed due to insufficient permissions.',
235
- ErrorException)
236
- .local_error('404',
237
- 'The specified resource does not exist.',
238
- ErrorException)
239
- .local_error('422',
240
- 'The requested action could not be performed, semantically'\
241
- ' incorrect, or failed business validation.',
242
- ErrorException)
243
- .local_error('500',
244
- 'An internal server error has occurred.',
245
- ErrorException)
246
- .local_error('default',
247
- 'The error response.',
248
- ErrorException))
249
- .execute
250
- end
251
-
252
- # Adds tracking information for an Order.
253
- # @param [String] id Required parameter: The ID of the order that the
254
- # tracking information is associated with.
255
- # @param [OrderTrackerRequest] body Required parameter: TODO: type
256
- # description here
257
- # @param [String] paypal_auth_assertion Optional parameter: An
258
- # API-caller-provided JSON Web Token (JWT) assertion that identifies the
259
- # merchant. For details, see PayPal-Auth-Assertion.
260
- # @return [ApiResponse] the complete http response with raw body and status code.
261
- def create_order_tracking(options = {})
262
- new_api_call_builder
263
- .request(new_request_builder(HttpMethodEnum::POST,
264
- '/v2/checkout/orders/{id}/track',
265
- Server::DEFAULT)
266
- .template_param(new_parameter(options['id'], key: 'id')
267
- .should_encode(true))
268
- .header_param(new_parameter('application/json', key: 'Content-Type'))
269
- .body_param(new_parameter(options['body']))
270
- .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
271
- .header_param(new_parameter('application/json', key: 'accept'))
272
- .body_serializer(proc do |param| param.to_json unless param.nil? end)
273
- .auth(Single.new('Oauth2')))
274
262
  .response(new_response_handler
275
263
  .deserializer(APIHelper.method(:custom_type_deserializer))
276
264
  .deserialize_into(Order.method(:from_hash))
@@ -282,9 +270,6 @@ module PaypalServerSdk
282
270
  .local_error('403',
283
271
  'Authorization failed due to insufficient permissions.',
284
272
  ErrorException)
285
- .local_error('404',
286
- 'The specified resource does not exist.',
287
- ErrorException)
288
273
  .local_error('422',
289
274
  'The requested action could not be performed, semantically'\
290
275
  ' incorrect, or failed business validation.',
@@ -298,12 +283,14 @@ module PaypalServerSdk
298
283
  .execute
299
284
  end
300
285
 
301
- # Creates an order. Merchants and partners can add Level 2 and 3 data to
302
- # payments to reduce risk and payment processing costs. For more information
303
- # about processing payments, see checkout or multiparty checkout. Note: For
304
- # error handling and troubleshooting, see Orders v2 errors.
305
- # @param [OrderRequest] body Required parameter: TODO: type description
306
- # here
286
+ # Authorizes payment for an order. To successfully authorize payment for an
287
+ # order, the buyer must first approve the order or a valid payment_source
288
+ # must be provided in the request. A buyer can approve the order upon being
289
+ # redirected to the rel:approve URL that was returned in the HATEOAS links
290
+ # in the create order response. Note: For error handling and
291
+ # troubleshooting, see Orders v2 errors.
292
+ # @param [String] id Required parameter: The ID of the order for which to
293
+ # authorize.
307
294
  # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
308
295
  # uses a request header to invoke negative testing in the sandbox. This
309
296
  # header configures the sandbox into a negative testing state for
@@ -314,39 +301,40 @@ module PaypalServerSdk
314
301
  # create order calls (E.g. Create Order Request with payment source
315
302
  # information like Card, PayPal.vault_id, PayPal.billing_agreement_id,
316
303
  # etc).
317
- # @param [String] paypal_partner_attribution_id Optional parameter: TODO:
318
- # type description here
319
- # @param [String] paypal_client_metadata_id Optional parameter: TODO: type
320
- # description here
321
304
  # @param [String] prefer Optional parameter: The preferred server response
322
305
  # upon successful completion of the request. Value is: return=minimal. The
323
306
  # server returns a minimal response to optimize communication between the
324
307
  # API caller and the server. A minimal response includes the id, status and
325
308
  # HATEOAS links. return=representation. The server returns a complete
326
309
  # resource representation, including the current state of the resource.
310
+ # @param [String] paypal_client_metadata_id Optional parameter: TODO: type
311
+ # description here
327
312
  # @param [String] paypal_auth_assertion Optional parameter: An
328
313
  # API-caller-provided JSON Web Token (JWT) assertion that identifies the
329
314
  # merchant. For details, see PayPal-Auth-Assertion.
330
- # @return [ApiResponse] the complete http response with raw body and status code.
331
- def create_order(options = {})
332
- new_api_call_builder
315
+ # @param [OrderAuthorizeRequest] body Optional parameter: TODO: type
316
+ # description here
317
+ # @return [ApiResponse] Complete http response with raw body and status code.
318
+ def authorize_order(options = {})
319
+ @api_call
333
320
  .request(new_request_builder(HttpMethodEnum::POST,
334
- '/v2/checkout/orders',
321
+ '/v2/checkout/orders/{id}/authorize',
335
322
  Server::DEFAULT)
323
+ .template_param(new_parameter(options['id'], key: 'id')
324
+ .should_encode(true))
336
325
  .header_param(new_parameter('application/json', key: 'Content-Type'))
337
- .body_param(new_parameter(options['body']))
338
326
  .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
339
327
  .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
340
- .header_param(new_parameter(options['paypal_partner_attribution_id'], key: 'PayPal-Partner-Attribution-Id'))
341
- .header_param(new_parameter(options['paypal_client_metadata_id'], key: 'PayPal-Client-Metadata-Id'))
342
328
  .header_param(new_parameter(options['prefer'], key: 'Prefer'))
329
+ .header_param(new_parameter(options['paypal_client_metadata_id'], key: 'PayPal-Client-Metadata-Id'))
343
330
  .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
331
+ .body_param(new_parameter(options['body']))
344
332
  .header_param(new_parameter('application/json', key: 'accept'))
345
333
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
346
334
  .auth(Single.new('Oauth2')))
347
335
  .response(new_response_handler
348
336
  .deserializer(APIHelper.method(:custom_type_deserializer))
349
- .deserialize_into(Order.method(:from_hash))
337
+ .deserialize_into(OrderAuthorizeResponse.method(:from_hash))
350
338
  .is_api_response(true)
351
339
  .local_error('400',
352
340
  'Request is not well-formed, syntactically incorrect, or'\
@@ -356,10 +344,20 @@ module PaypalServerSdk
356
344
  'Authentication failed due to missing authorization header, or'\
357
345
  ' invalid authentication credentials.',
358
346
  ErrorException)
347
+ .local_error('403',
348
+ 'The authorized payment failed due to insufficient permissions'\
349
+ '.',
350
+ ErrorException)
351
+ .local_error('404',
352
+ 'The specified resource does not exist.',
353
+ ErrorException)
359
354
  .local_error('422',
360
355
  'The requested action could not be performed, semantically'\
361
356
  ' incorrect, or failed business validation.',
362
357
  ErrorException)
358
+ .local_error('500',
359
+ 'An internal server error has occurred.',
360
+ ErrorException)
363
361
  .local_error('default',
364
362
  'The error response.',
365
363
  ErrorException))
@@ -397,9 +395,9 @@ module PaypalServerSdk
397
395
  # merchant. For details, see PayPal-Auth-Assertion.
398
396
  # @param [OrderCaptureRequest] body Optional parameter: TODO: type
399
397
  # description here
400
- # @return [ApiResponse] the complete http response with raw body and status code.
398
+ # @return [ApiResponse] Complete http response with raw body and status code.
401
399
  def capture_order(options = {})
402
- new_api_call_builder
400
+ @api_call
403
401
  .request(new_request_builder(HttpMethodEnum::POST,
404
402
  '/v2/checkout/orders/{id}/capture',
405
403
  Server::DEFAULT)
@@ -447,86 +445,85 @@ module PaypalServerSdk
447
445
  .execute
448
446
  end
449
447
 
450
- # Shows details for an order, by ID. Note: For error handling and
451
- # troubleshooting, see Orders v2 errors.
452
- # @param [String] id Required parameter: The ID of the order for which to
453
- # show details.
454
- # @param [String] paypal_mock_response Optional parameter: PayPal's REST API
455
- # uses a request header to invoke negative testing in the sandbox. This
456
- # header configures the sandbox into a negative testing state for
457
- # transactions that include the merchant.
448
+ # Adds tracking information for an Order.
449
+ # @param [String] id Required parameter: The ID of the order that the
450
+ # tracking information is associated with.
451
+ # @param [OrderTrackerRequest] body Required parameter: TODO: type
452
+ # description here
458
453
  # @param [String] paypal_auth_assertion Optional parameter: An
459
454
  # API-caller-provided JSON Web Token (JWT) assertion that identifies the
460
455
  # merchant. For details, see PayPal-Auth-Assertion.
461
- # @param [String] fields Optional parameter: A comma-separated list of
462
- # fields that should be returned for the order. Valid filter field is
463
- # `payment_source`.
464
- # @return [ApiResponse] the complete http response with raw body and status code.
465
- def get_order(options = {})
466
- new_api_call_builder
467
- .request(new_request_builder(HttpMethodEnum::GET,
468
- '/v2/checkout/orders/{id}',
456
+ # @return [ApiResponse] Complete http response with raw body and status code.
457
+ def create_order_tracking(options = {})
458
+ @api_call
459
+ .request(new_request_builder(HttpMethodEnum::POST,
460
+ '/v2/checkout/orders/{id}/track',
469
461
  Server::DEFAULT)
470
462
  .template_param(new_parameter(options['id'], key: 'id')
471
463
  .should_encode(true))
472
- .header_param(new_parameter(options['paypal_mock_response'], key: 'PayPal-Mock-Response'))
464
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
465
+ .body_param(new_parameter(options['body']))
473
466
  .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
474
- .query_param(new_parameter(options['fields'], key: 'fields'))
475
467
  .header_param(new_parameter('application/json', key: 'accept'))
468
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
476
469
  .auth(Single.new('Oauth2')))
477
470
  .response(new_response_handler
478
471
  .deserializer(APIHelper.method(:custom_type_deserializer))
479
472
  .deserialize_into(Order.method(:from_hash))
480
473
  .is_api_response(true)
481
- .local_error('401',
482
- 'Authentication failed due to missing authorization header, or'\
483
- ' invalid authentication credentials.',
474
+ .local_error('400',
475
+ 'Request is not well-formed, syntactically incorrect, or'\
476
+ ' violates schema.',
477
+ ErrorException)
478
+ .local_error('403',
479
+ 'Authorization failed due to insufficient permissions.',
484
480
  ErrorException)
485
481
  .local_error('404',
486
482
  'The specified resource does not exist.',
487
483
  ErrorException)
484
+ .local_error('422',
485
+ 'The requested action could not be performed, semantically'\
486
+ ' incorrect, or failed business validation.',
487
+ ErrorException)
488
+ .local_error('500',
489
+ 'An internal server error has occurred.',
490
+ ErrorException)
488
491
  .local_error('default',
489
492
  'The error response.',
490
493
  ErrorException))
491
494
  .execute
492
495
  end
493
496
 
494
- # Payer confirms their intent to pay for the the Order with the given
495
- # payment source.
496
- # @param [String] id Required parameter: The ID of the order for which the
497
- # payer confirms their intent to pay.
498
- # @param [String] paypal_client_metadata_id Optional parameter: TODO: type
499
- # description here
497
+ # Updates or cancels the tracking information for a PayPal order, by ID.
498
+ # Updatable attributes or objects: Attribute Op Notes items replace Using
499
+ # replace op for items will replace the entire items object with the value
500
+ # sent in request. notify_payer replace, add status replace Only patching
501
+ # status to CANCELLED is currently supported.
502
+ # @param [String] id Required parameter: The ID of the order that the
503
+ # tracking information is associated with.
504
+ # @param [String] tracker_id Required parameter: The order tracking ID.
500
505
  # @param [String] paypal_auth_assertion Optional parameter: An
501
506
  # API-caller-provided JSON Web Token (JWT) assertion that identifies the
502
507
  # merchant. For details, see PayPal-Auth-Assertion.
503
- # @param [String] prefer Optional parameter: The preferred server response
504
- # upon successful completion of the request. Value is: return=minimal. The
505
- # server returns a minimal response to optimize communication between the
506
- # API caller and the server. A minimal response includes the id, status and
507
- # HATEOAS links. return=representation. The server returns a complete
508
- # resource representation, including the current state of the resource.
509
- # @param [ConfirmOrderRequest] body Optional parameter: TODO: type
510
- # description here
511
- # @return [ApiResponse] the complete http response with raw body and status code.
512
- def confirm_order(options = {})
513
- new_api_call_builder
514
- .request(new_request_builder(HttpMethodEnum::POST,
515
- '/v2/checkout/orders/{id}/confirm-payment-source',
508
+ # @param [Array[Patch]] body Optional parameter: TODO: type description
509
+ # here
510
+ # @return [ApiResponse] Complete http response with raw body and status code.
511
+ def update_order_tracking(options = {})
512
+ @api_call
513
+ .request(new_request_builder(HttpMethodEnum::PATCH,
514
+ '/v2/checkout/orders/{id}/trackers/{tracker_id}',
516
515
  Server::DEFAULT)
517
516
  .template_param(new_parameter(options['id'], key: 'id')
518
517
  .should_encode(true))
518
+ .template_param(new_parameter(options['tracker_id'], key: 'tracker_id')
519
+ .should_encode(true))
519
520
  .header_param(new_parameter('application/json', key: 'Content-Type'))
520
- .header_param(new_parameter(options['paypal_client_metadata_id'], key: 'PayPal-Client-Metadata-Id'))
521
521
  .header_param(new_parameter(options['paypal_auth_assertion'], key: 'PayPal-Auth-Assertion'))
522
- .header_param(new_parameter(options['prefer'], key: 'Prefer'))
523
522
  .body_param(new_parameter(options['body']))
524
- .header_param(new_parameter('application/json', key: 'accept'))
525
523
  .body_serializer(proc do |param| param.to_json unless param.nil? end)
526
524
  .auth(Single.new('Oauth2')))
527
525
  .response(new_response_handler
528
- .deserializer(APIHelper.method(:custom_type_deserializer))
529
- .deserialize_into(Order.method(:from_hash))
526
+ .is_response_void(true)
530
527
  .is_api_response(true)
531
528
  .local_error('400',
532
529
  'Request is not well-formed, syntactically incorrect, or'\
@@ -535,6 +532,9 @@ module PaypalServerSdk
535
532
  .local_error('403',
536
533
  'Authorization failed due to insufficient permissions.',
537
534
  ErrorException)
535
+ .local_error('404',
536
+ 'The specified resource does not exist.',
537
+ ErrorException)
538
538
  .local_error('422',
539
539
  'The requested action could not be performed, semantically'\
540
540
  ' incorrect, or failed business validation.',