paypal-server-sdk 2.3.0 → 2.4.0

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