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
@@ -0,0 +1,178 @@
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
+ # TransactionSearchController
8
+ class TransactionSearchController < BaseController
9
+ # Lists transactions. Specify one or more query parameters to filter the
10
+ # transaction that appear in the response. Notes: If you specify one or more
11
+ # optional query parameters, the ending_balance response field is empty. It
12
+ # takes a maximum of three hours for executed transactions to appear in the
13
+ # list transactions call. This call lists transaction for the previous three
14
+ # years.
15
+ # @param [String] start_date Required parameter: Filters the transactions in
16
+ # the response by a start date and time, in [Internet date and time
17
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
18
+ # required. Fractional seconds are optional.
19
+ # @param [String] end_date Required parameter: Filters the transactions in
20
+ # the response by an end date and time, in [Internet date and time
21
+ # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
22
+ # required. Fractional seconds are optional. The maximum supported range is
23
+ # 31 days.
24
+ # @param [String] transaction_id Optional parameter: Filters the
25
+ # transactions in the response by a PayPal transaction ID. A valid
26
+ # transaction ID is 17 characters long, except for an order ID, which is 19
27
+ # characters long. Note: A transaction ID is not unique in the reporting
28
+ # system. The response can list two transactions with the same ID. One
29
+ # transaction can be balance affecting while the other is non-balance
30
+ # affecting.
31
+ # @param [String] transaction_type Optional parameter: Filters the
32
+ # transactions in the response by a PayPal transaction event code. See
33
+ # [Transaction event
34
+ # codes](/docs/integration/direct/transaction-search/transaction-event-codes
35
+ # /).
36
+ # @param [String] transaction_status Optional parameter: Filters the
37
+ # transactions in the response by a PayPal transaction status code. Value
38
+ # is: Status code Description D PayPal or merchant rules denied the
39
+ # transaction. P The transaction is pending. The transaction was created but
40
+ # waits for another payment process to complete, such as an ACH transaction,
41
+ # before the status changes to S. S The transaction successfully completed
42
+ # without a denial and after any pending statuses. V A successful
43
+ # transaction was reversed and funds were refunded to the original sender.
44
+ # @param [String] transaction_amount Optional parameter: Filters the
45
+ # transactions in the response by a gross transaction amount range. Specify
46
+ # the range as ` TO `, where ` ` is the lower limit of the gross PayPal
47
+ # transaction amount and ` ` is the upper limit of the gross transaction
48
+ # amount. Specify the amounts in lower denominations. For example, to search
49
+ # for transactions from $5.00 to $10.05, specify `[500 TO 1005]`. Note:The
50
+ # values must be URL encoded.
51
+ # @param [String] transaction_currency Optional parameter: Filters the
52
+ # transactions in the response by a [three-character ISO-4217 currency
53
+ # code](/api/rest/reference/currency-codes/) for the PayPal transaction
54
+ # currency.
55
+ # @param [String] payment_instrument_type Optional parameter: Filters the
56
+ # transactions in the response by a payment instrument type. Value is
57
+ # either: CREDITCARD. Returns a direct credit card transaction with a
58
+ # corresponding value. DEBITCARD. Returns a debit card transaction with a
59
+ # corresponding value. If you omit this parameter, the API does not apply
60
+ # this filter.
61
+ # @param [String] store_id Optional parameter: Filters the transactions in
62
+ # the response by a store ID.
63
+ # @param [String] terminal_id Optional parameter: Filters the transactions
64
+ # in the response by a terminal ID.
65
+ # @param [String] fields Optional parameter: Indicates which fields appear
66
+ # in the response. Value is a single field or a comma-separated list of
67
+ # fields. The transaction_info value returns only the transaction details in
68
+ # the response. To include all fields in the response, specify fields=all.
69
+ # Valid fields are: transaction_info. The transaction information. Includes
70
+ # the ID of the PayPal account of the payee, the PayPal-generated
71
+ # transaction ID, the PayPal-generated base ID, the PayPal reference ID
72
+ # type, the transaction event code, the date and time when the transaction
73
+ # was initiated and was last updated, the transaction amounts including the
74
+ # PayPal fee, any discounts, insurance, the transaction status, and other
75
+ # information about the transaction. payer_info. The payer information.
76
+ # Includes the PayPal customer account ID and the payer's email address,
77
+ # primary phone number, name, country code, address, and whether the payer
78
+ # is verified or unverified. shipping_info. The shipping information.
79
+ # Includes the recipient's name, the shipping method for this order, the
80
+ # shipping address for this order, and the secondary address associated with
81
+ # this order. auction_info. The auction information. Includes the name of
82
+ # the auction site, the auction site URL, the ID of the customer who makes
83
+ # the purchase in the auction, and the date and time when the auction
84
+ # closes. cart_info. The cart information. Includes an array of item
85
+ # details, whether the item amount or the shipping amount already includes
86
+ # tax, and the ID of the invoice for PayPal-generated invoices.
87
+ # incentive_info. An array of incentive detail objects. Each object includes
88
+ # the incentive, such as a special offer or coupon, the incentive amount,
89
+ # and the incentive program code that identifies a merchant loyalty or
90
+ # incentive program. store_info. The store information. Includes the ID of
91
+ # the merchant store and the terminal ID for the checkout stand in the
92
+ # merchant store.
93
+ # @param [String] balance_affecting_records_only Optional parameter:
94
+ # Indicates whether the response includes only balance-impacting
95
+ # transactions or all transactions. Value is either: Y. The default. The
96
+ # response includes only balance transactions. N. The response includes all
97
+ # transactions.
98
+ # @param [Integer] page_size Optional parameter: The number of items to
99
+ # return in the response. So, the combination of `page=1` and `page_size=20`
100
+ # returns the first 20 items. The combination of `page=2` and `page_size=20`
101
+ # returns the next 20 items.
102
+ # @param [Integer] page Optional parameter: The zero-relative start index of
103
+ # the entire list of items that are returned in the response. So, the
104
+ # combination of `page=1` and `page_size=20` returns the first 20 items.
105
+ # @return [ApiResponse] Complete http response with raw body and status code.
106
+ def search_transactions(options = {})
107
+ @api_call
108
+ .request(new_request_builder(HttpMethodEnum::GET,
109
+ '/v1/reporting/transactions',
110
+ Server::DEFAULT)
111
+ .query_param(new_parameter(options['start_date'], key: 'start_date'))
112
+ .query_param(new_parameter(options['end_date'], key: 'end_date'))
113
+ .query_param(new_parameter(options['transaction_id'], key: 'transaction_id'))
114
+ .query_param(new_parameter(options['transaction_type'], key: 'transaction_type'))
115
+ .query_param(new_parameter(options['transaction_status'], key: 'transaction_status'))
116
+ .query_param(new_parameter(options['transaction_amount'], key: 'transaction_amount'))
117
+ .query_param(new_parameter(options['transaction_currency'], key: 'transaction_currency'))
118
+ .query_param(new_parameter(options['payment_instrument_type'], key: 'payment_instrument_type'))
119
+ .query_param(new_parameter(options['store_id'], key: 'store_id'))
120
+ .query_param(new_parameter(options['terminal_id'], key: 'terminal_id'))
121
+ .query_param(new_parameter(options['fields'], key: 'fields'))
122
+ .query_param(new_parameter(options['balance_affecting_records_only'], key: 'balance_affecting_records_only'))
123
+ .query_param(new_parameter(options['page_size'], key: 'page_size'))
124
+ .query_param(new_parameter(options['page'], key: 'page'))
125
+ .header_param(new_parameter('application/json', key: 'accept'))
126
+ .auth(Single.new('Oauth2')))
127
+ .response(new_response_handler
128
+ .deserializer(APIHelper.method(:custom_type_deserializer))
129
+ .deserialize_into(SearchResponse.method(:from_hash))
130
+ .is_api_response(true)
131
+ .local_error('default',
132
+ 'The error response.',
133
+ SearchErrorException))
134
+ .execute
135
+ end
136
+
137
+ # List all balances. Specify date time to list balances for that time that
138
+ # appear in the response. Notes: It takes a maximum of three hours for
139
+ # balances to appear in the list balances call. This call lists balances
140
+ # upto the previous three years.
141
+ # @param [String] as_of_time Optional parameter: List balances in the
142
+ # response at the date time provided, will return the last refreshed balance
143
+ # in the system when not provided.
144
+ # @param [String] currency_code Optional parameter: Filters the transactions
145
+ # in the response by a [three-character ISO-4217 currency
146
+ # code](/api/rest/reference/currency-codes/) for the PayPal transaction
147
+ # currency.
148
+ # @return [ApiResponse] Complete http response with raw body and status code.
149
+ def search_balances(options = {})
150
+ @api_call
151
+ .request(new_request_builder(HttpMethodEnum::GET,
152
+ '/v1/reporting/balances',
153
+ Server::DEFAULT)
154
+ .query_param(new_parameter(options['as_of_time'], key: 'as_of_time'))
155
+ .query_param(new_parameter(options['currency_code'], key: 'currency_code'))
156
+ .header_param(new_parameter('application/json', key: 'accept'))
157
+ .auth(Single.new('Oauth2')))
158
+ .response(new_response_handler
159
+ .deserializer(APIHelper.method(:custom_type_deserializer))
160
+ .deserialize_into(BalancesResponse.method(:from_hash))
161
+ .is_api_response(true)
162
+ .local_error('400',
163
+ 'The request is not well-formed, is syntactically incorrect, or'\
164
+ ' violates schema.',
165
+ DefaultErrorException)
166
+ .local_error('403',
167
+ 'Authorization failed due to insufficient permissions.',
168
+ DefaultErrorException)
169
+ .local_error('500',
170
+ 'An internal server error occurred.',
171
+ DefaultErrorException)
172
+ .local_error('default',
173
+ 'The error response.',
174
+ DefaultErrorException))
175
+ .execute
176
+ end
177
+ end
178
+ end
@@ -1,24 +1,32 @@
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
  # VaultController
8
8
  class VaultController < BaseController
9
- # Delete the payment token associated with the payment token id.
10
- # @param [String] id Required parameter: ID of the payment token.
11
- # @return [ApiResponse] the complete http response with raw body and status code.
12
- def delete_payment_token(id)
13
- new_api_call_builder
14
- .request(new_request_builder(HttpMethodEnum::DELETE,
15
- '/v3/vault/payment-tokens/{id}',
9
+ # Creates a Payment Token from the given payment source and adds it to the
10
+ # Vault of the associated customer.
11
+ # @param [PaymentTokenRequest] body Required parameter: Payment Token
12
+ # creation with a financial instrument and an optional customer_id.
13
+ # @param [String] paypal_request_id Optional parameter: The server stores
14
+ # keys for 3 hours.
15
+ # @return [ApiResponse] Complete http response with raw body and status code.
16
+ def create_payment_token(options = {})
17
+ @api_call
18
+ .request(new_request_builder(HttpMethodEnum::POST,
19
+ '/v3/vault/payment-tokens',
16
20
  Server::DEFAULT)
17
- .template_param(new_parameter(id, key: 'id')
18
- .should_encode(true))
21
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
22
+ .body_param(new_parameter(options['body']))
23
+ .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
24
+ .header_param(new_parameter('application/json', key: 'accept'))
25
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
19
26
  .auth(Single.new('Oauth2')))
20
27
  .response(new_response_handler
21
- .is_response_void(true)
28
+ .deserializer(APIHelper.method(:custom_type_deserializer))
29
+ .deserialize_into(PaymentTokenResponse.method(:from_hash))
22
30
  .is_api_response(true)
23
31
  .local_error('400',
24
32
  'Request is not well-formed, syntactically incorrect, or'\
@@ -27,34 +35,45 @@ module PaypalServerSdk
27
35
  .local_error('403',
28
36
  'Authorization failed due to insufficient permissions.',
29
37
  ErrorException)
38
+ .local_error('404',
39
+ 'Request contains reference to resources that do not exist.',
40
+ ErrorException)
41
+ .local_error('422',
42
+ 'The requested action could not be performed, semantically'\
43
+ ' incorrect, or failed business validation.',
44
+ ErrorException)
30
45
  .local_error('500',
31
46
  'An internal server error has occurred.',
32
47
  ErrorException))
33
48
  .execute
34
49
  end
35
50
 
36
- # Creates a Setup Token from the given payment source and adds it to the
37
- # Vault of the associated customer.
38
- # @param [SetupTokenRequest] body Required parameter: Setup Token creation
39
- # with a instrument type optional financial instrument details and
40
- # customer_id.
41
- # @param [String] paypal_request_id Optional parameter: The server stores
42
- # keys for 3 hours.
43
- # @return [ApiResponse] the complete http response with raw body and status code.
44
- def create_setup_token(options = {})
45
- new_api_call_builder
46
- .request(new_request_builder(HttpMethodEnum::POST,
47
- '/v3/vault/setup-tokens',
51
+ # Returns all payment tokens for a customer.
52
+ # @param [String] customer_id Required parameter: A unique identifier
53
+ # representing a specific customer in merchant's/partner's system or
54
+ # records.
55
+ # @param [Integer] page_size Optional parameter: A non-negative, non-zero
56
+ # integer indicating the maximum number of results to return at one time.
57
+ # @param [Integer] page Optional parameter: A non-negative, non-zero integer
58
+ # representing the page of the results.
59
+ # @param [TrueClass | FalseClass] total_required Optional parameter: A
60
+ # boolean indicating total number of items (total_items) and pages
61
+ # (total_pages) are expected to be returned in the response.
62
+ # @return [ApiResponse] Complete http response with raw body and status code.
63
+ def list_customer_payment_tokens(options = {})
64
+ @api_call
65
+ .request(new_request_builder(HttpMethodEnum::GET,
66
+ '/v3/vault/payment-tokens',
48
67
  Server::DEFAULT)
49
- .header_param(new_parameter('application/json', key: 'Content-Type'))
50
- .body_param(new_parameter(options['body']))
51
- .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
68
+ .query_param(new_parameter(options['customer_id'], key: 'customer_id'))
69
+ .query_param(new_parameter(options['page_size'], key: 'page_size'))
70
+ .query_param(new_parameter(options['page'], key: 'page'))
71
+ .query_param(new_parameter(options['total_required'], key: 'total_required'))
52
72
  .header_param(new_parameter('application/json', key: 'accept'))
53
- .body_serializer(proc do |param| param.to_json unless param.nil? end)
54
73
  .auth(Single.new('Oauth2')))
55
74
  .response(new_response_handler
56
75
  .deserializer(APIHelper.method(:custom_type_deserializer))
57
- .deserialize_into(SetupTokenResponse.method(:from_hash))
76
+ .deserialize_into(CustomerVaultPaymentTokensResponse.method(:from_hash))
58
77
  .is_api_response(true)
59
78
  .local_error('400',
60
79
  'Request is not well-formed, syntactically incorrect, or'\
@@ -63,24 +82,20 @@ module PaypalServerSdk
63
82
  .local_error('403',
64
83
  'Authorization failed due to insufficient permissions.',
65
84
  ErrorException)
66
- .local_error('422',
67
- 'The requested action could not be performed, semantically'\
68
- ' incorrect, or failed business validation.',
69
- ErrorException)
70
85
  .local_error('500',
71
86
  'An internal server error has occurred.',
72
87
  ErrorException))
73
88
  .execute
74
89
  end
75
90
 
76
- # Returns a readable representation of temporarily vaulted payment source
77
- # associated with the setup token id.
78
- # @param [String] id Required parameter: ID of the setup token.
79
- # @return [ApiResponse] the complete http response with raw body and status code.
80
- def get_setup_token(id)
81
- new_api_call_builder
91
+ # Returns a readable representation of vaulted payment source associated
92
+ # with the payment token id.
93
+ # @param [String] id Required parameter: ID of the payment token.
94
+ # @return [ApiResponse] Complete http response with raw body and status code.
95
+ def get_payment_token(id)
96
+ @api_call
82
97
  .request(new_request_builder(HttpMethodEnum::GET,
83
- '/v3/vault/setup-tokens/{id}',
98
+ '/v3/vault/payment-tokens/{id}',
84
99
  Server::DEFAULT)
85
100
  .template_param(new_parameter(id, key: 'id')
86
101
  .should_encode(true))
@@ -88,7 +103,7 @@ module PaypalServerSdk
88
103
  .auth(Single.new('Oauth2')))
89
104
  .response(new_response_handler
90
105
  .deserializer(APIHelper.method(:custom_type_deserializer))
91
- .deserialize_into(SetupTokenResponse.method(:from_hash))
106
+ .deserialize_into(PaymentTokenResponse.method(:from_hash))
92
107
  .is_api_response(true)
93
108
  .local_error('403',
94
109
  'Authorization failed due to insufficient permissions.',
@@ -106,27 +121,19 @@ module PaypalServerSdk
106
121
  .execute
107
122
  end
108
123
 
109
- # Creates a Payment Token from the given payment source and adds it to the
110
- # Vault of the associated customer.
111
- # @param [PaymentTokenRequest] body Required parameter: Payment Token
112
- # creation with a financial instrument and an optional customer_id.
113
- # @param [String] paypal_request_id Optional parameter: The server stores
114
- # keys for 3 hours.
115
- # @return [ApiResponse] the complete http response with raw body and status code.
116
- def create_payment_token(options = {})
117
- new_api_call_builder
118
- .request(new_request_builder(HttpMethodEnum::POST,
119
- '/v3/vault/payment-tokens',
124
+ # Delete the payment token associated with the payment token id.
125
+ # @param [String] id Required parameter: ID of the payment token.
126
+ # @return [ApiResponse] Complete http response with raw body and status code.
127
+ def delete_payment_token(id)
128
+ @api_call
129
+ .request(new_request_builder(HttpMethodEnum::DELETE,
130
+ '/v3/vault/payment-tokens/{id}',
120
131
  Server::DEFAULT)
121
- .header_param(new_parameter('application/json', key: 'Content-Type'))
122
- .body_param(new_parameter(options['body']))
123
- .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
124
- .header_param(new_parameter('application/json', key: 'accept'))
125
- .body_serializer(proc do |param| param.to_json unless param.nil? end)
132
+ .template_param(new_parameter(id, key: 'id')
133
+ .should_encode(true))
126
134
  .auth(Single.new('Oauth2')))
127
135
  .response(new_response_handler
128
- .deserializer(APIHelper.method(:custom_type_deserializer))
129
- .deserialize_into(PaymentTokenResponse.method(:from_hash))
136
+ .is_response_void(true)
130
137
  .is_api_response(true)
131
138
  .local_error('400',
132
139
  'Request is not well-formed, syntactically incorrect, or'\
@@ -135,45 +142,34 @@ module PaypalServerSdk
135
142
  .local_error('403',
136
143
  'Authorization failed due to insufficient permissions.',
137
144
  ErrorException)
138
- .local_error('404',
139
- 'Request contains reference to resources that do not exist.',
140
- ErrorException)
141
- .local_error('422',
142
- 'The requested action could not be performed, semantically'\
143
- ' incorrect, or failed business validation.',
144
- ErrorException)
145
145
  .local_error('500',
146
146
  'An internal server error has occurred.',
147
147
  ErrorException))
148
148
  .execute
149
149
  end
150
150
 
151
- # Returns all payment tokens for a customer.
152
- # @param [String] customer_id Required parameter: A unique identifier
153
- # representing a specific customer in merchant's/partner's system or
154
- # records.
155
- # @param [Integer] page_size Optional parameter: A non-negative, non-zero
156
- # integer indicating the maximum number of results to return at one time.
157
- # @param [Integer] page Optional parameter: A non-negative, non-zero integer
158
- # representing the page of the results.
159
- # @param [TrueClass | FalseClass] total_required Optional parameter: A
160
- # boolean indicating total number of items (total_items) and pages
161
- # (total_pages) are expected to be returned in the response.
162
- # @return [ApiResponse] the complete http response with raw body and status code.
163
- def list_customer_payment_tokens(options = {})
164
- new_api_call_builder
165
- .request(new_request_builder(HttpMethodEnum::GET,
166
- '/v3/vault/payment-tokens',
151
+ # Creates a Setup Token from the given payment source and adds it to the
152
+ # Vault of the associated customer.
153
+ # @param [SetupTokenRequest] body Required parameter: Setup Token creation
154
+ # with a instrument type optional financial instrument details and
155
+ # customer_id.
156
+ # @param [String] paypal_request_id Optional parameter: The server stores
157
+ # keys for 3 hours.
158
+ # @return [ApiResponse] Complete http response with raw body and status code.
159
+ def create_setup_token(options = {})
160
+ @api_call
161
+ .request(new_request_builder(HttpMethodEnum::POST,
162
+ '/v3/vault/setup-tokens',
167
163
  Server::DEFAULT)
168
- .query_param(new_parameter(options['customer_id'], key: 'customer_id'))
169
- .query_param(new_parameter(options['page_size'], key: 'page_size'))
170
- .query_param(new_parameter(options['page'], key: 'page'))
171
- .query_param(new_parameter(options['total_required'], key: 'total_required'))
164
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
165
+ .body_param(new_parameter(options['body']))
166
+ .header_param(new_parameter(options['paypal_request_id'], key: 'PayPal-Request-Id'))
172
167
  .header_param(new_parameter('application/json', key: 'accept'))
168
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
173
169
  .auth(Single.new('Oauth2')))
174
170
  .response(new_response_handler
175
171
  .deserializer(APIHelper.method(:custom_type_deserializer))
176
- .deserialize_into(CustomerVaultPaymentTokensResponse.method(:from_hash))
172
+ .deserialize_into(SetupTokenResponse.method(:from_hash))
177
173
  .is_api_response(true)
178
174
  .local_error('400',
179
175
  'Request is not well-formed, syntactically incorrect, or'\
@@ -182,20 +178,24 @@ module PaypalServerSdk
182
178
  .local_error('403',
183
179
  'Authorization failed due to insufficient permissions.',
184
180
  ErrorException)
181
+ .local_error('422',
182
+ 'The requested action could not be performed, semantically'\
183
+ ' incorrect, or failed business validation.',
184
+ ErrorException)
185
185
  .local_error('500',
186
186
  'An internal server error has occurred.',
187
187
  ErrorException))
188
188
  .execute
189
189
  end
190
190
 
191
- # Returns a readable representation of vaulted payment source associated
192
- # with the payment token id.
193
- # @param [String] id Required parameter: ID of the payment token.
194
- # @return [ApiResponse] the complete http response with raw body and status code.
195
- def get_payment_token(id)
196
- new_api_call_builder
191
+ # Returns a readable representation of temporarily vaulted payment source
192
+ # associated with the setup token id.
193
+ # @param [String] id Required parameter: ID of the setup token.
194
+ # @return [ApiResponse] Complete http response with raw body and status code.
195
+ def get_setup_token(id)
196
+ @api_call
197
197
  .request(new_request_builder(HttpMethodEnum::GET,
198
- '/v3/vault/payment-tokens/{id}',
198
+ '/v3/vault/setup-tokens/{id}',
199
199
  Server::DEFAULT)
200
200
  .template_param(new_parameter(id, key: 'id')
201
201
  .should_encode(true))
@@ -203,7 +203,7 @@ module PaypalServerSdk
203
203
  .auth(Single.new('Oauth2')))
204
204
  .response(new_response_handler
205
205
  .deserializer(APIHelper.method(:custom_type_deserializer))
206
- .deserialize_into(PaymentTokenResponse.method(:from_hash))
206
+ .deserialize_into(SetupTokenResponse.method(:from_hash))
207
207
  .is_api_response(true)
208
208
  .local_error('403',
209
209
  'Authorization failed due to insufficient permissions.',
@@ -1,7 +1,7 @@
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
  # Class for exceptions when there is a network error, status code error, etc.
@@ -0,0 +1,95 @@
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
+ # The error details.
8
+ class DefaultErrorException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The human-readable, unique name of the error.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The message that describes the error.
17
+ # @return [String]
18
+ attr_accessor :message
19
+
20
+ # The PayPal internal ID. Used for correlation purposes.
21
+ # @return [String]
22
+ attr_accessor :debug_id
23
+
24
+ # The information link, or URI, that shows detailed information about this
25
+ # error for the developer.
26
+ # @return [String]
27
+ attr_accessor :information_link
28
+
29
+ # An array of additional details about the error.
30
+ # @return [Array[TransactionSearchErrorDetails]]
31
+ attr_accessor :details
32
+
33
+ # An array of request-related [HATEOAS
34
+ # links](/docs/api/reference/api-responses/#hateoas-links).
35
+ # @return [Array[LinkDescription]]
36
+ attr_accessor :links
37
+
38
+ # The constructor.
39
+ # @param [String] reason The reason for raising an exception.
40
+ # @param [HttpResponse] response The HttpReponse of the API call.
41
+ def initialize(reason, response)
42
+ super(reason, response)
43
+ hash = APIHelper.json_deserialize(@response.raw_body)
44
+ unbox(hash)
45
+ end
46
+
47
+ # Populates this object by extracting properties from a hash.
48
+ # @param [Hash] hash The deserialized response sent by the server in the
49
+ # response body.
50
+ def unbox(hash)
51
+ return nil unless hash
52
+
53
+ @name = hash.key?('name') ? hash['name'] : nil
54
+ @message = hash.key?('message') ? hash['message'] : nil
55
+ @debug_id = hash.key?('debug_id') ? hash['debug_id'] : nil
56
+ @information_link =
57
+ hash.key?('information_link') ? hash['information_link'] : SKIP
58
+ # Parameter is an array, so we need to iterate through it
59
+ @details = nil
60
+ unless hash['details'].nil?
61
+ @details = []
62
+ hash['details'].each do |structure|
63
+ @details << (TransactionSearchErrorDetails.from_hash(structure) if structure)
64
+ end
65
+ end
66
+
67
+ @details = SKIP unless hash.key?('details')
68
+ # Parameter is an array, so we need to iterate through it
69
+ @links = nil
70
+ unless hash['links'].nil?
71
+ @links = []
72
+ hash['links'].each do |structure|
73
+ @links << (LinkDescription.from_hash(structure) if structure)
74
+ end
75
+ end
76
+
77
+ @links = SKIP unless hash.key?('links')
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} name: #{@name}, message: #{@message}, debug_id: #{@debug_id},"\
84
+ " information_link: #{@information_link}, details: #{@details}, links: #{@links}>"
85
+ end
86
+
87
+ # Provides a debugging-friendly string with detailed object information.
88
+ def inspect
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} name: #{@name.inspect}, message: #{@message.inspect}, debug_id:"\
91
+ " #{@debug_id.inspect}, information_link: #{@information_link.inspect}, details:"\
92
+ " #{@details.inspect}, links: #{@links.inspect}>"
93
+ end
94
+ end
95
+ end
@@ -1,7 +1,7 @@
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
  # The error details.
@@ -1,7 +1,7 @@
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
  # OAuth 2 Authorization endpoint exception.