paypal-server-sdk 0.6.1 → 0.7.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 (291) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +34 -34
  3. data/README.md +19 -30
  4. data/lib/paypal_server_sdk/controllers/base_controller.rb +1 -1
  5. data/lib/paypal_server_sdk/controllers/orders_controller.rb +103 -148
  6. data/lib/paypal_server_sdk/controllers/payments_controller.rb +94 -73
  7. data/lib/paypal_server_sdk/controllers/vault_controller.rb +12 -12
  8. data/lib/paypal_server_sdk/exceptions/api_exception.rb +11 -0
  9. data/lib/paypal_server_sdk/exceptions/error_exception.rb +14 -0
  10. data/lib/paypal_server_sdk/exceptions/o_auth_provider_exception.rb +14 -0
  11. data/lib/paypal_server_sdk/models/activity_timestamps.rb +17 -6
  12. data/lib/paypal_server_sdk/models/address.rb +24 -9
  13. data/lib/paypal_server_sdk/models/amount_breakdown.rb +17 -0
  14. data/lib/paypal_server_sdk/models/amount_with_breakdown.rb +22 -9
  15. data/lib/paypal_server_sdk/models/apple_pay_attributes.rb +12 -0
  16. data/lib/paypal_server_sdk/models/apple_pay_attributes_response.rb +12 -0
  17. data/lib/paypal_server_sdk/models/apple_pay_card.rb +14 -0
  18. data/lib/paypal_server_sdk/models/apple_pay_card_response.rb +48 -6
  19. data/lib/paypal_server_sdk/models/apple_pay_decrypted_token_data.rb +16 -0
  20. data/lib/paypal_server_sdk/models/apple_pay_payment_data.rb +14 -0
  21. data/lib/paypal_server_sdk/models/apple_pay_payment_data_type.rb +6 -2
  22. data/lib/paypal_server_sdk/models/apple_pay_payment_object.rb +43 -7
  23. data/lib/paypal_server_sdk/models/apple_pay_payment_token.rb +12 -0
  24. data/lib/paypal_server_sdk/models/apple_pay_request.rb +27 -13
  25. data/lib/paypal_server_sdk/models/apple_pay_tokenized_card.rb +15 -0
  26. data/lib/paypal_server_sdk/models/assurance_details.rb +14 -0
  27. data/lib/paypal_server_sdk/models/authentication_response.rb +13 -0
  28. data/lib/paypal_server_sdk/models/authorization.rb +28 -9
  29. data/lib/paypal_server_sdk/models/authorization_incomplete_reason.rb +2 -2
  30. data/lib/paypal_server_sdk/models/authorization_status.rb +12 -6
  31. data/lib/paypal_server_sdk/models/authorization_status_details.rb +12 -0
  32. data/lib/paypal_server_sdk/models/authorization_status_with_details.rb +12 -0
  33. data/lib/paypal_server_sdk/models/authorization_with_additional_data.rb +29 -9
  34. data/lib/paypal_server_sdk/models/avs_code.rb +102 -71
  35. data/lib/paypal_server_sdk/models/bancontact_payment_object.rb +19 -5
  36. data/lib/paypal_server_sdk/models/bancontact_payment_request.rb +18 -5
  37. data/lib/paypal_server_sdk/models/base_model.rb +76 -28
  38. data/lib/paypal_server_sdk/models/billing_cycle.rb +129 -0
  39. data/lib/paypal_server_sdk/models/bin_details.rb +18 -5
  40. data/lib/paypal_server_sdk/models/blik_experience_context.rb +17 -0
  41. data/lib/paypal_server_sdk/models/blik_level0_payment_object.rb +12 -0
  42. data/lib/paypal_server_sdk/models/blik_one_click_payment_object.rb +12 -0
  43. data/lib/paypal_server_sdk/models/blik_one_click_payment_request.rb +15 -0
  44. data/lib/paypal_server_sdk/models/blik_payment_object.rb +22 -10
  45. data/lib/paypal_server_sdk/models/blik_payment_request.rb +24 -10
  46. data/lib/paypal_server_sdk/models/callback_configuration.rb +75 -0
  47. data/lib/paypal_server_sdk/models/callback_events.rb +27 -0
  48. data/lib/paypal_server_sdk/models/capture_incomplete_reason.rb +22 -14
  49. data/lib/paypal_server_sdk/models/capture_payment_instruction.rb +15 -0
  50. data/lib/paypal_server_sdk/models/capture_request.rb +17 -0
  51. data/lib/paypal_server_sdk/models/capture_status.rb +10 -6
  52. data/lib/paypal_server_sdk/models/capture_status_details.rb +12 -0
  53. data/lib/paypal_server_sdk/models/capture_status_with_details.rb +12 -0
  54. data/lib/paypal_server_sdk/models/captured_payment.rb +36 -10
  55. data/lib/paypal_server_sdk/models/card_attributes.rb +13 -0
  56. data/lib/paypal_server_sdk/models/card_attributes_response.rb +12 -0
  57. data/lib/paypal_server_sdk/models/card_authentication_response.rb +14 -2
  58. data/lib/paypal_server_sdk/models/card_brand.rb +29 -25
  59. data/lib/paypal_server_sdk/models/card_customer_information.rb +18 -5
  60. data/lib/paypal_server_sdk/models/card_experience_context.rb +12 -0
  61. data/lib/paypal_server_sdk/models/card_from_request.rb +12 -0
  62. data/lib/paypal_server_sdk/models/{card_response_entity.rb → card_payment_token_entity.rb} +37 -15
  63. data/lib/paypal_server_sdk/models/card_request.rb +32 -17
  64. data/lib/paypal_server_sdk/models/card_response.rb +43 -2
  65. data/lib/paypal_server_sdk/models/{portable_postal_address_medium_grained.rb → card_response_address.rb} +43 -23
  66. data/lib/paypal_server_sdk/models/card_stored_credential.rb +23 -7
  67. data/lib/paypal_server_sdk/models/card_supplementary_data.rb +13 -5
  68. data/lib/paypal_server_sdk/models/card_type.rb +5 -5
  69. data/lib/paypal_server_sdk/models/card_vault_response.rb +13 -0
  70. data/lib/paypal_server_sdk/models/card_verification.rb +16 -3
  71. data/lib/paypal_server_sdk/models/card_verification_details.rb +27 -11
  72. data/lib/paypal_server_sdk/models/card_verification_processor_response.rb +12 -0
  73. data/lib/paypal_server_sdk/models/card_verification_status.rb +23 -0
  74. data/lib/paypal_server_sdk/models/checkout_payment_intent.rb +10 -2
  75. data/lib/paypal_server_sdk/models/cobranded_card.rb +13 -0
  76. data/lib/paypal_server_sdk/models/confirm_order_request.rb +15 -12
  77. data/lib/paypal_server_sdk/models/{customer_request.rb → customer.rb} +18 -4
  78. data/lib/paypal_server_sdk/models/customer_information.rb +17 -5
  79. data/lib/paypal_server_sdk/models/customer_response.rb +76 -0
  80. data/lib/paypal_server_sdk/models/customer_vault_payment_tokens_response.rb +21 -4
  81. data/lib/paypal_server_sdk/models/cvv_code.rb +35 -27
  82. data/lib/paypal_server_sdk/models/disbursement_mode.rb +5 -2
  83. data/lib/paypal_server_sdk/models/dispute_category.rb +2 -2
  84. data/lib/paypal_server_sdk/models/eci_flag.rb +6 -8
  85. data/lib/paypal_server_sdk/models/enrollment_status.rb +11 -8
  86. data/lib/paypal_server_sdk/models/eps_payment_object.rb +17 -5
  87. data/lib/paypal_server_sdk/models/eps_payment_request.rb +18 -5
  88. data/lib/paypal_server_sdk/models/error_details.rb +15 -0
  89. data/lib/paypal_server_sdk/models/exchange_rate.rb +14 -0
  90. data/lib/paypal_server_sdk/models/experience_context.rb +15 -0
  91. data/lib/paypal_server_sdk/models/fulfillment_type.rb +9 -4
  92. data/lib/paypal_server_sdk/models/giropay_payment_object.rb +17 -5
  93. data/lib/paypal_server_sdk/models/giropay_payment_request.rb +18 -5
  94. data/lib/paypal_server_sdk/models/google_pay_authentication_method.rb +8 -2
  95. data/lib/paypal_server_sdk/models/google_pay_card.rb +17 -3
  96. data/lib/paypal_server_sdk/models/google_pay_card_response.rb +16 -0
  97. data/lib/paypal_server_sdk/models/google_pay_decrypted_token_data.rb +17 -0
  98. data/lib/paypal_server_sdk/models/google_pay_payment_method.rb +1 -1
  99. data/lib/paypal_server_sdk/models/google_pay_request.rb +22 -17
  100. data/lib/paypal_server_sdk/models/google_pay_request_card.rb +14 -0
  101. data/lib/paypal_server_sdk/models/google_pay_wallet_response.rb +18 -5
  102. data/lib/paypal_server_sdk/models/ideal_payment_object.rb +18 -5
  103. data/lib/paypal_server_sdk/models/ideal_payment_request.rb +18 -5
  104. data/lib/paypal_server_sdk/models/item.rb +17 -0
  105. data/lib/paypal_server_sdk/models/item_category.rb +6 -3
  106. data/lib/paypal_server_sdk/models/level2_card_processing_data.rb +12 -0
  107. data/lib/paypal_server_sdk/models/level3_card_processing_data.rb +17 -0
  108. data/lib/paypal_server_sdk/models/liability_shift_indicator.rb +3 -3
  109. data/lib/paypal_server_sdk/models/line_item.rb +21 -0
  110. data/lib/paypal_server_sdk/models/link_description.rb +12 -0
  111. data/lib/paypal_server_sdk/models/money.rb +16 -4
  112. data/lib/paypal_server_sdk/models/mybank_payment_object.rb +18 -5
  113. data/lib/paypal_server_sdk/models/mybank_payment_request.rb +18 -5
  114. data/lib/paypal_server_sdk/models/name.rb +12 -0
  115. data/lib/paypal_server_sdk/models/net_amount_breakdown_item.rb +14 -0
  116. data/lib/paypal_server_sdk/models/network_token.rb +15 -0
  117. data/lib/paypal_server_sdk/models/network_transaction_reference.rb +14 -0
  118. data/lib/paypal_server_sdk/models/network_transaction_reference_entity.rb +15 -3
  119. data/lib/paypal_server_sdk/models/one_time_charge.rb +118 -0
  120. data/lib/paypal_server_sdk/models/order.rb +22 -19
  121. data/lib/paypal_server_sdk/models/order_application_context.rb +40 -25
  122. data/lib/paypal_server_sdk/models/order_application_context_landing_page.rb +10 -3
  123. data/lib/paypal_server_sdk/models/order_application_context_shipping_preference.rb +14 -10
  124. data/lib/paypal_server_sdk/models/order_application_context_user_action.rb +11 -6
  125. data/lib/paypal_server_sdk/models/order_authorize_request.rb +12 -0
  126. data/lib/paypal_server_sdk/models/order_authorize_request_payment_source.rb +20 -9
  127. data/lib/paypal_server_sdk/models/order_authorize_response.rb +22 -19
  128. data/lib/paypal_server_sdk/models/order_authorize_response_payment_source.rb +14 -0
  129. data/lib/paypal_server_sdk/models/order_capture_request.rb +12 -0
  130. data/lib/paypal_server_sdk/models/order_capture_request_payment_source.rb +20 -9
  131. data/lib/paypal_server_sdk/models/order_confirm_application_context.rb +21 -8
  132. data/lib/paypal_server_sdk/models/order_request.rb +18 -4
  133. data/lib/paypal_server_sdk/models/order_status.rb +19 -6
  134. data/lib/paypal_server_sdk/models/order_tracker_item.rb +15 -0
  135. data/lib/paypal_server_sdk/models/order_tracker_request.rb +22 -5
  136. data/lib/paypal_server_sdk/models/order_tracker_response.rb +19 -6
  137. data/lib/paypal_server_sdk/models/order_tracker_status.rb +5 -2
  138. data/lib/paypal_server_sdk/models/order_update_callback_error_response.rb +89 -0
  139. data/lib/paypal_server_sdk/models/order_update_callback_error_response_details.rb +81 -0
  140. data/lib/paypal_server_sdk/models/order_update_callback_request.rb +111 -0
  141. data/lib/paypal_server_sdk/models/order_update_callback_response.rb +72 -0
  142. data/lib/paypal_server_sdk/models/order_update_callback_shipping_address.rb +107 -0
  143. data/lib/paypal_server_sdk/models/order_update_callback_shipping_option.rb +93 -0
  144. data/lib/paypal_server_sdk/models/{capture.rb → orders_capture.rb} +46 -22
  145. data/lib/paypal_server_sdk/models/orders_card_verification_method.rb +51 -0
  146. data/lib/paypal_server_sdk/models/p24_payment_object.rb +24 -10
  147. data/lib/paypal_server_sdk/models/p24_payment_request.rb +22 -10
  148. data/lib/paypal_server_sdk/models/pa_res_status.rb +16 -16
  149. data/lib/paypal_server_sdk/models/participant_metadata.rb +64 -0
  150. data/lib/paypal_server_sdk/models/patch.rb +20 -10
  151. data/lib/paypal_server_sdk/models/patch_op.rb +43 -6
  152. data/lib/paypal_server_sdk/models/payee_base.rb +17 -5
  153. data/lib/paypal_server_sdk/models/payee_payment_method_preference.rb +4 -2
  154. data/lib/paypal_server_sdk/models/payer.rb +20 -5
  155. data/lib/paypal_server_sdk/models/payer_base.rb +16 -5
  156. data/lib/paypal_server_sdk/models/payment_advice_code.rb +53 -8
  157. data/lib/paypal_server_sdk/models/payment_authorization.rb +32 -11
  158. data/lib/paypal_server_sdk/models/payment_collection.rb +16 -2
  159. data/lib/paypal_server_sdk/models/payment_initiator.rb +5 -2
  160. data/lib/paypal_server_sdk/models/payment_instruction.rb +16 -0
  161. data/lib/paypal_server_sdk/models/payment_method_preference.rb +14 -0
  162. data/lib/paypal_server_sdk/models/payment_source.rb +25 -9
  163. data/lib/paypal_server_sdk/models/payment_source_response.rb +19 -0
  164. data/lib/paypal_server_sdk/models/payment_supplementary_data.rb +12 -0
  165. data/lib/paypal_server_sdk/models/payment_token_request.rb +17 -3
  166. data/lib/paypal_server_sdk/models/payment_token_request_card.rb +17 -22
  167. data/lib/paypal_server_sdk/models/payment_token_request_payment_source.rb +12 -0
  168. data/lib/paypal_server_sdk/models/payment_token_response.rb +18 -3
  169. data/lib/paypal_server_sdk/models/payment_token_response_payment_source.rb +18 -14
  170. data/lib/paypal_server_sdk/models/payment_token_status.rb +36 -0
  171. data/lib/paypal_server_sdk/models/payments_capture.rb +252 -0
  172. data/lib/paypal_server_sdk/models/payments_payment_advice_code.rb +42 -0
  173. data/lib/paypal_server_sdk/models/payments_processor_response.rb +98 -0
  174. data/lib/paypal_server_sdk/models/paypal_experience_landing_page.rb +11 -3
  175. data/lib/paypal_server_sdk/models/paypal_experience_user_action.rb +9 -4
  176. data/lib/paypal_server_sdk/models/paypal_payment_token.rb +38 -8
  177. data/lib/paypal_server_sdk/models/paypal_payment_token_customer_type.rb +7 -3
  178. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_type.rb +7 -3
  179. data/lib/paypal_server_sdk/models/paypal_wallet.rb +41 -11
  180. data/lib/paypal_server_sdk/models/paypal_wallet_account_verification_status.rb +6 -2
  181. data/lib/paypal_server_sdk/models/paypal_wallet_attributes.rb +12 -0
  182. data/lib/paypal_server_sdk/models/paypal_wallet_attributes_response.rb +12 -0
  183. data/lib/paypal_server_sdk/models/paypal_wallet_context_shipping_preference.rb +31 -0
  184. data/lib/paypal_server_sdk/models/paypal_wallet_customer.rb +18 -5
  185. data/lib/paypal_server_sdk/models/paypal_wallet_customer_request.rb +18 -5
  186. data/lib/paypal_server_sdk/models/paypal_wallet_experience_context.rb +45 -12
  187. data/lib/paypal_server_sdk/models/paypal_wallet_response.rb +39 -7
  188. data/lib/paypal_server_sdk/models/paypal_wallet_stored_credential.rb +98 -0
  189. data/lib/paypal_server_sdk/models/paypal_wallet_vault_instruction.rb +18 -1
  190. data/lib/paypal_server_sdk/models/paypal_wallet_vault_response.rb +13 -0
  191. data/lib/paypal_server_sdk/models/paypal_wallet_vault_status.rb +8 -3
  192. data/lib/paypal_server_sdk/models/phone.rb +14 -0
  193. data/lib/paypal_server_sdk/models/phone_number.rb +12 -0
  194. data/lib/paypal_server_sdk/models/phone_number_with_country_code.rb +15 -0
  195. data/lib/paypal_server_sdk/models/phone_with_type.rb +13 -0
  196. data/lib/paypal_server_sdk/models/plan.rb +102 -0
  197. data/lib/paypal_server_sdk/models/platform_fee.rb +12 -0
  198. data/lib/paypal_server_sdk/models/pricing_model.rb +28 -0
  199. data/lib/paypal_server_sdk/models/pricing_scheme.rb +84 -0
  200. data/lib/paypal_server_sdk/models/processor_response.rb +15 -0
  201. data/lib/paypal_server_sdk/models/processor_response_code.rb +312 -308
  202. data/lib/paypal_server_sdk/models/purchase_unit.rb +43 -25
  203. data/lib/paypal_server_sdk/models/purchase_unit_request.rb +36 -20
  204. data/lib/paypal_server_sdk/models/reauthorize_request.rb +19 -8
  205. data/lib/paypal_server_sdk/models/refund.rb +25 -6
  206. data/lib/paypal_server_sdk/models/refund_incomplete_reason.rb +2 -1
  207. data/lib/paypal_server_sdk/models/refund_payment_instruction.rb +12 -0
  208. data/lib/paypal_server_sdk/models/refund_platform_fee.rb +12 -0
  209. data/lib/paypal_server_sdk/models/refund_request.rb +17 -2
  210. data/lib/paypal_server_sdk/models/refund_status.rb +4 -4
  211. data/lib/paypal_server_sdk/models/refund_status_details.rb +12 -0
  212. data/lib/paypal_server_sdk/models/refund_status_with_details.rb +12 -0
  213. data/lib/paypal_server_sdk/models/related_identifiers.rb +14 -0
  214. data/lib/paypal_server_sdk/models/risk_supplementary_data.rb +63 -0
  215. data/lib/paypal_server_sdk/models/seller_payable_breakdown.rb +21 -0
  216. data/lib/paypal_server_sdk/models/seller_protection.rb +13 -0
  217. data/lib/paypal_server_sdk/models/seller_protection_status.rb +6 -3
  218. data/lib/paypal_server_sdk/models/seller_receivable_breakdown.rb +18 -0
  219. data/lib/paypal_server_sdk/models/setup_token_card_experience_context.rb +21 -5
  220. data/lib/paypal_server_sdk/models/setup_token_request.rb +17 -3
  221. data/lib/paypal_server_sdk/models/setup_token_request_card.rb +20 -18
  222. data/lib/paypal_server_sdk/models/setup_token_request_payment_source.rb +13 -0
  223. data/lib/paypal_server_sdk/models/setup_token_response.rb +23 -16
  224. data/lib/paypal_server_sdk/models/setup_token_response_card.rb +25 -3
  225. data/lib/paypal_server_sdk/models/setup_token_response_payment_source.rb +13 -0
  226. data/lib/paypal_server_sdk/models/shipment_carrier.rb +1377 -1402
  227. data/lib/paypal_server_sdk/models/shipping_details.rb +29 -2
  228. data/lib/paypal_server_sdk/models/shipping_name.rb +12 -0
  229. data/lib/paypal_server_sdk/models/shipping_option.rb +14 -0
  230. data/lib/paypal_server_sdk/models/shipping_options_purchase_unit.rb +102 -0
  231. data/lib/paypal_server_sdk/models/shipping_preference.rb +6 -3
  232. data/lib/paypal_server_sdk/models/shipping_type.rb +12 -4
  233. data/lib/paypal_server_sdk/models/shipping_with_tracking_details.rb +30 -2
  234. data/lib/paypal_server_sdk/models/sofort_payment_object.rb +18 -5
  235. data/lib/paypal_server_sdk/models/sofort_payment_request.rb +18 -5
  236. data/lib/paypal_server_sdk/models/standard_entry_class_code.rb +12 -4
  237. data/lib/paypal_server_sdk/models/store_in_vault_instruction.rb +2 -1
  238. data/lib/paypal_server_sdk/models/stored_payment_source.rb +23 -7
  239. data/lib/paypal_server_sdk/models/stored_payment_source_payment_type.rb +6 -3
  240. data/lib/paypal_server_sdk/models/stored_payment_source_usage_type.rb +6 -3
  241. data/lib/paypal_server_sdk/models/supplementary_data.rb +25 -7
  242. data/lib/paypal_server_sdk/models/supplementary_purchase_data.rb +13 -0
  243. data/lib/paypal_server_sdk/models/tax_id_type.rb +2 -2
  244. data/lib/paypal_server_sdk/models/tax_info.rb +12 -0
  245. data/lib/paypal_server_sdk/models/tenure_type.rb +28 -0
  246. data/lib/paypal_server_sdk/models/three_d_secure_authentication_response.rb +14 -0
  247. data/lib/paypal_server_sdk/models/three_d_secure_card_authentication_response.rb +89 -0
  248. data/lib/paypal_server_sdk/models/token.rb +12 -0
  249. data/lib/paypal_server_sdk/models/token_type.rb +2 -1
  250. data/lib/paypal_server_sdk/models/trustly_payment_object.rb +31 -6
  251. data/lib/paypal_server_sdk/models/trustly_payment_request.rb +30 -6
  252. data/lib/paypal_server_sdk/models/universal_product_code.rb +12 -0
  253. data/lib/paypal_server_sdk/models/upc_type.rb +14 -14
  254. data/lib/paypal_server_sdk/models/usage_pattern.rb +72 -0
  255. data/lib/paypal_server_sdk/models/vault_card_verification_method.rb +39 -0
  256. data/lib/paypal_server_sdk/models/vault_customer.rb +12 -0
  257. data/lib/paypal_server_sdk/models/vault_experience_context.rb +26 -7
  258. data/lib/paypal_server_sdk/models/vault_instruction.rb +12 -0
  259. data/lib/paypal_server_sdk/models/vault_instruction_action.rb +26 -0
  260. data/lib/paypal_server_sdk/models/vault_instruction_base.rb +12 -0
  261. data/lib/paypal_server_sdk/models/vault_paypal_wallet_request.rb +43 -4
  262. data/lib/paypal_server_sdk/models/vault_response.rb +13 -0
  263. data/lib/paypal_server_sdk/models/vault_response_customer.rb +86 -0
  264. data/lib/paypal_server_sdk/models/vault_status.rb +8 -3
  265. data/lib/paypal_server_sdk/models/vault_token_request.rb +13 -1
  266. data/lib/paypal_server_sdk/models/vault_token_request_type.rb +20 -0
  267. data/lib/paypal_server_sdk/models/vault_venmo_experience_context.rb +24 -6
  268. data/lib/paypal_server_sdk/models/vault_venmo_request.rb +31 -3
  269. data/lib/paypal_server_sdk/models/vaulted_digital_wallet.rb +29 -3
  270. data/lib/paypal_server_sdk/models/vaulted_digital_wallet_shipping_details.rb +26 -1
  271. data/lib/paypal_server_sdk/models/venmo_payment_token.rb +37 -8
  272. data/lib/paypal_server_sdk/models/venmo_payment_token_customer_type.rb +4 -2
  273. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_pattern.rb +12 -6
  274. data/lib/paypal_server_sdk/models/venmo_payment_token_usage_type.rb +5 -2
  275. data/lib/paypal_server_sdk/models/venmo_wallet_additional_attributes.rb +12 -0
  276. data/lib/paypal_server_sdk/models/venmo_wallet_attributes_response.rb +12 -0
  277. data/lib/paypal_server_sdk/models/venmo_wallet_customer_information.rb +16 -5
  278. data/lib/paypal_server_sdk/models/venmo_wallet_experience_context.rb +34 -5
  279. data/lib/paypal_server_sdk/models/venmo_wallet_request.rb +21 -8
  280. data/lib/paypal_server_sdk/models/venmo_wallet_response.rb +21 -5
  281. data/lib/paypal_server_sdk/models/venmo_wallet_vault_attributes.rb +17 -0
  282. data/lib/paypal_server_sdk/utilities/file_wrapper.rb +14 -2
  283. data/lib/paypal_server_sdk.rb +43 -14
  284. metadata +40 -15
  285. data/lib/paypal_server_sdk/models/address_details.rb +0 -160
  286. data/lib/paypal_server_sdk/models/card_payment_token.rb +0 -166
  287. data/lib/paypal_server_sdk/models/card_verification_method.rb +0 -29
  288. data/lib/paypal_server_sdk/models/google_pay_card_attributes.rb +0 -51
  289. data/lib/paypal_server_sdk/models/payee.rb +0 -65
  290. data/lib/paypal_server_sdk/models/paypal_payment_token_usage_pattern.rb +0 -35
  291. data/lib/paypal_server_sdk/models/token_request_type.rb +0 -23
@@ -116,5 +116,22 @@ module PaypalServerSdk
116
116
  ships_from_postal_code: ships_from_postal_code,
117
117
  line_items: line_items)
118
118
  end
119
+
120
+ # Provides a human-readable string representation of the object.
121
+ def to_s
122
+ class_name = self.class.name.split('::').last
123
+ "<#{class_name} shipping_amount: #{@shipping_amount}, duty_amount: #{@duty_amount},"\
124
+ " discount_amount: #{@discount_amount}, shipping_address: #{@shipping_address},"\
125
+ " ships_from_postal_code: #{@ships_from_postal_code}, line_items: #{@line_items}>"
126
+ end
127
+
128
+ # Provides a debugging-friendly string with detailed object information.
129
+ def inspect
130
+ class_name = self.class.name.split('::').last
131
+ "<#{class_name} shipping_amount: #{@shipping_amount.inspect}, duty_amount:"\
132
+ " #{@duty_amount.inspect}, discount_amount: #{@discount_amount.inspect}, shipping_address:"\
133
+ " #{@shipping_address.inspect}, ships_from_postal_code: #{@ships_from_postal_code.inspect},"\
134
+ " line_items: #{@line_items.inspect}>"
135
+ end
119
136
  end
120
137
  end
@@ -7,13 +7,13 @@ module PaypalServerSdk
7
7
  # Liability shift indicator. The outcome of the issuer's authentication.
8
8
  class LiabilityShiftIndicator
9
9
  LIABILITY_SHIFT_INDICATOR = [
10
- # TODO: Write general description for NO
10
+ # Liability is with the merchant.
11
11
  NO = 'NO'.freeze,
12
12
 
13
- # TODO: Write general description for POSSIBLE
13
+ # Liability may shift to the card issuer.
14
14
  POSSIBLE = 'POSSIBLE'.freeze,
15
15
 
16
- # TODO: Write general description for UNKNOWN
16
+ # The authentication system is not available.
17
17
  UNKNOWN = 'UNKNOWN'.freeze
18
18
  ].freeze
19
19
 
@@ -173,5 +173,26 @@ module PaypalServerSdk
173
173
  total_amount: total_amount,
174
174
  unit_of_measure: unit_of_measure)
175
175
  end
176
+
177
+ # Provides a human-readable string representation of the object.
178
+ def to_s
179
+ class_name = self.class.name.split('::').last
180
+ "<#{class_name} name: #{@name}, quantity: #{@quantity}, description: #{@description}, sku:"\
181
+ " #{@sku}, url: #{@url}, image_url: #{@image_url}, upc: #{@upc}, unit_amount:"\
182
+ " #{@unit_amount}, tax: #{@tax}, commodity_code: #{@commodity_code}, discount_amount:"\
183
+ " #{@discount_amount}, total_amount: #{@total_amount}, unit_of_measure:"\
184
+ " #{@unit_of_measure}>"
185
+ end
186
+
187
+ # Provides a debugging-friendly string with detailed object information.
188
+ def inspect
189
+ class_name = self.class.name.split('::').last
190
+ "<#{class_name} name: #{@name.inspect}, quantity: #{@quantity.inspect}, description:"\
191
+ " #{@description.inspect}, sku: #{@sku.inspect}, url: #{@url.inspect}, image_url:"\
192
+ " #{@image_url.inspect}, upc: #{@upc.inspect}, unit_amount: #{@unit_amount.inspect}, tax:"\
193
+ " #{@tax.inspect}, commodity_code: #{@commodity_code.inspect}, discount_amount:"\
194
+ " #{@discount_amount.inspect}, total_amount: #{@total_amount.inspect}, unit_of_measure:"\
195
+ " #{@unit_of_measure.inspect}>"
196
+ end
176
197
  end
177
198
  end
@@ -71,5 +71,17 @@ module PaypalServerSdk
71
71
  rel: rel,
72
72
  method: method)
73
73
  end
74
+
75
+ # Provides a human-readable string representation of the object.
76
+ def to_s
77
+ class_name = self.class.name.split('::').last
78
+ "<#{class_name} href: #{@href}, rel: #{@rel}, method: #{@method}>"
79
+ end
80
+
81
+ # Provides a debugging-friendly string with detailed object information.
82
+ def inspect
83
+ class_name = self.class.name.split('::').last
84
+ "<#{class_name} href: #{@href.inspect}, rel: #{@rel.inspect}, method: #{@method.inspect}>"
85
+ end
74
86
  end
75
87
  end
@@ -15,10 +15,10 @@ module PaypalServerSdk
15
15
  # @return [String]
16
16
  attr_accessor :currency_code
17
17
 
18
- # The value, which might be:<ul><li>An integer for currencies like `JPY`
19
- # that are not typically fractional.</li><li>A decimal fraction for
20
- # currencies like `TND` that are subdivided into thousandths.</li></ul>For
21
- # the required number of decimal places for a currency code, see [Currency
18
+ # The value, which might be: An integer for currencies like `JPY` that are
19
+ # not typically fractional. A decimal fraction for currencies like `TND`
20
+ # that are subdivided into thousandths. For the required number of decimal
21
+ # places for a currency code, see [Currency
22
22
  # Codes](/api/rest/reference/currency-codes/).
23
23
  # @return [String]
24
24
  attr_accessor :value
@@ -58,5 +58,17 @@ module PaypalServerSdk
58
58
  Money.new(currency_code: currency_code,
59
59
  value: value)
60
60
  end
61
+
62
+ # Provides a human-readable string representation of the object.
63
+ def to_s
64
+ class_name = self.class.name.split('::').last
65
+ "<#{class_name} currency_code: #{@currency_code}, value: #{@value}>"
66
+ end
67
+
68
+ # Provides a debugging-friendly string with detailed object information.
69
+ def inspect
70
+ class_name = self.class.name.split('::').last
71
+ "<#{class_name} currency_code: #{@currency_code.inspect}, value: #{@value.inspect}>"
72
+ end
61
73
  end
62
74
  end
@@ -14,11 +14,10 @@ module PaypalServerSdk
14
14
  attr_accessor :name
15
15
 
16
16
  # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
- # that identifies the country or region.<blockquote><strong>Note:</strong>
18
- # The country code for Great Britain is <code>GB</code> and not
19
- # <code>UK</code> as used in the top-level domain names for that country.
20
- # Use the `C2` country code for China worldwide for comparable uncontrolled
21
- # price (CUP) method, bank card, and cross-border transactions.</blockquote>
17
+ # that identifies the country or region. Note: The country code for Great
18
+ # Britain is GB and not UK as used in the top-level domain names for that
19
+ # country. Use the `C2` country code for China worldwide for comparable
20
+ # uncontrolled price (CUP) method, bank card, and cross-border transactions.
22
21
  # @return [String]
23
22
  attr_accessor :country_code
24
23
 
@@ -81,5 +80,19 @@ module PaypalServerSdk
81
80
  bic: bic,
82
81
  iban_last_chars: iban_last_chars)
83
82
  end
83
+
84
+ # Provides a human-readable string representation of the object.
85
+ def to_s
86
+ class_name = self.class.name.split('::').last
87
+ "<#{class_name} name: #{@name}, country_code: #{@country_code}, bic: #{@bic},"\
88
+ " iban_last_chars: #{@iban_last_chars}>"
89
+ end
90
+
91
+ # Provides a debugging-friendly string with detailed object information.
92
+ def inspect
93
+ class_name = self.class.name.split('::').last
94
+ "<#{class_name} name: #{@name.inspect}, country_code: #{@country_code.inspect}, bic:"\
95
+ " #{@bic.inspect}, iban_last_chars: #{@iban_last_chars.inspect}>"
96
+ end
84
97
  end
85
98
  end
@@ -14,11 +14,10 @@ module PaypalServerSdk
14
14
  attr_accessor :name
15
15
 
16
16
  # The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/)
17
- # that identifies the country or region.<blockquote><strong>Note:</strong>
18
- # The country code for Great Britain is <code>GB</code> and not
19
- # <code>UK</code> as used in the top-level domain names for that country.
20
- # Use the `C2` country code for China worldwide for comparable uncontrolled
21
- # price (CUP) method, bank card, and cross-border transactions.</blockquote>
17
+ # that identifies the country or region. Note: The country code for Great
18
+ # Britain is GB and not UK as used in the top-level domain names for that
19
+ # country. Use the `C2` country code for China worldwide for comparable
20
+ # uncontrolled price (CUP) method, bank card, and cross-border transactions.
22
21
  # @return [String]
23
22
  attr_accessor :country_code
24
23
 
@@ -69,5 +68,19 @@ module PaypalServerSdk
69
68
  country_code: country_code,
70
69
  experience_context: experience_context)
71
70
  end
71
+
72
+ # Provides a human-readable string representation of the object.
73
+ def to_s
74
+ class_name = self.class.name.split('::').last
75
+ "<#{class_name} name: #{@name}, country_code: #{@country_code}, experience_context:"\
76
+ " #{@experience_context}>"
77
+ end
78
+
79
+ # Provides a debugging-friendly string with detailed object information.
80
+ def inspect
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} name: #{@name.inspect}, country_code: #{@country_code.inspect},"\
83
+ " experience_context: #{@experience_context.inspect}>"
84
+ end
72
85
  end
73
86
  end
@@ -57,5 +57,17 @@ module PaypalServerSdk
57
57
  Name.new(given_name: given_name,
58
58
  surname: surname)
59
59
  end
60
+
61
+ # Provides a human-readable string representation of the object.
62
+ def to_s
63
+ class_name = self.class.name.split('::').last
64
+ "<#{class_name} given_name: #{@given_name}, surname: #{@surname}>"
65
+ end
66
+
67
+ # Provides a debugging-friendly string with detailed object information.
68
+ def inspect
69
+ class_name = self.class.name.split('::').last
70
+ "<#{class_name} given_name: #{@given_name.inspect}, surname: #{@surname.inspect}>"
71
+ end
60
72
  end
61
73
  end
@@ -69,5 +69,19 @@ module PaypalServerSdk
69
69
  converted_amount: converted_amount,
70
70
  exchange_rate: exchange_rate)
71
71
  end
72
+
73
+ # Provides a human-readable string representation of the object.
74
+ def to_s
75
+ class_name = self.class.name.split('::').last
76
+ "<#{class_name} payable_amount: #{@payable_amount}, converted_amount: #{@converted_amount},"\
77
+ " exchange_rate: #{@exchange_rate}>"
78
+ end
79
+
80
+ # Provides a debugging-friendly string with detailed object information.
81
+ def inspect
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} payable_amount: #{@payable_amount.inspect}, converted_amount:"\
84
+ " #{@converted_amount.inspect}, exchange_rate: #{@exchange_rate.inspect}>"
85
+ end
72
86
  end
73
87
  end
@@ -91,5 +91,20 @@ module PaypalServerSdk
91
91
  eci_flag: eci_flag,
92
92
  token_requestor_id: token_requestor_id)
93
93
  end
94
+
95
+ # Provides a human-readable string representation of the object.
96
+ def to_s
97
+ class_name = self.class.name.split('::').last
98
+ "<#{class_name} number: #{@number}, expiry: #{@expiry}, cryptogram: #{@cryptogram},"\
99
+ " eci_flag: #{@eci_flag}, token_requestor_id: #{@token_requestor_id}>"
100
+ end
101
+
102
+ # Provides a debugging-friendly string with detailed object information.
103
+ def inspect
104
+ class_name = self.class.name.split('::').last
105
+ "<#{class_name} number: #{@number.inspect}, expiry: #{@expiry.inspect}, cryptogram:"\
106
+ " #{@cryptogram.inspect}, eci_flag: #{@eci_flag.inspect}, token_requestor_id:"\
107
+ " #{@token_requestor_id.inspect}>"
108
+ end
94
109
  end
95
110
  end
@@ -86,5 +86,19 @@ module PaypalServerSdk
86
86
  network: network,
87
87
  acquirer_reference_number: acquirer_reference_number)
88
88
  end
89
+
90
+ # Provides a human-readable string representation of the object.
91
+ def to_s
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} id: #{@id}, date: #{@date}, network: #{@network},"\
94
+ " acquirer_reference_number: #{@acquirer_reference_number}>"
95
+ end
96
+
97
+ # Provides a debugging-friendly string with detailed object information.
98
+ def inspect
99
+ class_name = self.class.name.split('::').last
100
+ "<#{class_name} id: #{@id.inspect}, date: #{@date.inspect}, network: #{@network.inspect},"\
101
+ " acquirer_reference_number: #{@acquirer_reference_number.inspect}>"
102
+ end
89
103
  end
90
104
  end
@@ -31,9 +31,8 @@ module PaypalServerSdk
31
31
 
32
32
  # The date and time, in [Internet date and time
33
33
  # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
34
- # required while fractional seconds are
35
- # optional.<blockquote><strong>Note:</strong> The regular expression
36
- # provides guidance but does not reject all invalid dates.</blockquote>
34
+ # required while fractional seconds are optional. Note: The regular
35
+ # expression provides guidance but does not reject all invalid dates.
37
36
  # @return [String]
38
37
  attr_accessor :time
39
38
 
@@ -84,5 +83,18 @@ module PaypalServerSdk
84
83
  network: network,
85
84
  time: time)
86
85
  end
86
+
87
+ # Provides a human-readable string representation of the object.
88
+ def to_s
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} id: #{@id}, date: #{@date}, network: #{@network}, time: #{@time}>"
91
+ end
92
+
93
+ # Provides a debugging-friendly string with detailed object information.
94
+ def inspect
95
+ class_name = self.class.name.split('::').last
96
+ "<#{class_name} id: #{@id.inspect}, date: #{@date.inspect}, network: #{@network.inspect},"\
97
+ " time: #{@time.inspect}>"
98
+ end
87
99
  end
88
100
  end
@@ -0,0 +1,118 @@
1
+ # paypal_server_sdk
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module PaypalServerSdk
7
+ # The one-time charge info at the time of checkout.
8
+ class OneTimeCharge < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The currency and amount for a financial transaction, such as a balance or
13
+ # payment due.
14
+ # @return [Money]
15
+ attr_accessor :setup_fee
16
+
17
+ # The currency and amount for a financial transaction, such as a balance or
18
+ # payment due.
19
+ # @return [Money]
20
+ attr_accessor :shipping_amount
21
+
22
+ # The currency and amount for a financial transaction, such as a balance or
23
+ # payment due.
24
+ # @return [Money]
25
+ attr_accessor :taxes
26
+
27
+ # The currency and amount for a financial transaction, such as a balance or
28
+ # payment due.
29
+ # @return [Money]
30
+ attr_accessor :product_price
31
+
32
+ # The currency and amount for a financial transaction, such as a balance or
33
+ # payment due.
34
+ # @return [Money]
35
+ attr_accessor :subtotal
36
+
37
+ # The currency and amount for a financial transaction, such as a balance or
38
+ # payment due.
39
+ # @return [Money]
40
+ attr_accessor :total_amount
41
+
42
+ # A mapping from model property names to API property names.
43
+ def self.names
44
+ @_hash = {} if @_hash.nil?
45
+ @_hash['setup_fee'] = 'setup_fee'
46
+ @_hash['shipping_amount'] = 'shipping_amount'
47
+ @_hash['taxes'] = 'taxes'
48
+ @_hash['product_price'] = 'product_price'
49
+ @_hash['subtotal'] = 'subtotal'
50
+ @_hash['total_amount'] = 'total_amount'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ %w[
57
+ setup_fee
58
+ shipping_amount
59
+ taxes
60
+ product_price
61
+ subtotal
62
+ ]
63
+ end
64
+
65
+ # An array for nullable fields
66
+ def self.nullables
67
+ []
68
+ end
69
+
70
+ def initialize(total_amount:, setup_fee: SKIP, shipping_amount: SKIP,
71
+ taxes: SKIP, product_price: SKIP, subtotal: SKIP)
72
+ @setup_fee = setup_fee unless setup_fee == SKIP
73
+ @shipping_amount = shipping_amount unless shipping_amount == SKIP
74
+ @taxes = taxes unless taxes == SKIP
75
+ @product_price = product_price unless product_price == SKIP
76
+ @subtotal = subtotal unless subtotal == SKIP
77
+ @total_amount = total_amount
78
+ end
79
+
80
+ # Creates an instance of the object from a hash.
81
+ def self.from_hash(hash)
82
+ return nil unless hash
83
+
84
+ # Extract variables from the hash.
85
+ total_amount = Money.from_hash(hash['total_amount']) if hash['total_amount']
86
+ setup_fee = Money.from_hash(hash['setup_fee']) if hash['setup_fee']
87
+ shipping_amount = Money.from_hash(hash['shipping_amount']) if hash['shipping_amount']
88
+ taxes = Money.from_hash(hash['taxes']) if hash['taxes']
89
+ product_price = Money.from_hash(hash['product_price']) if hash['product_price']
90
+ subtotal = Money.from_hash(hash['subtotal']) if hash['subtotal']
91
+
92
+ # Create object from extracted values.
93
+ OneTimeCharge.new(total_amount: total_amount,
94
+ setup_fee: setup_fee,
95
+ shipping_amount: shipping_amount,
96
+ taxes: taxes,
97
+ product_price: product_price,
98
+ subtotal: subtotal)
99
+ end
100
+
101
+ # Provides a human-readable string representation of the object.
102
+ def to_s
103
+ class_name = self.class.name.split('::').last
104
+ "<#{class_name} setup_fee: #{@setup_fee}, shipping_amount: #{@shipping_amount}, taxes:"\
105
+ " #{@taxes}, product_price: #{@product_price}, subtotal: #{@subtotal}, total_amount:"\
106
+ " #{@total_amount}>"
107
+ end
108
+
109
+ # Provides a debugging-friendly string with detailed object information.
110
+ def inspect
111
+ class_name = self.class.name.split('::').last
112
+ "<#{class_name} setup_fee: #{@setup_fee.inspect}, shipping_amount:"\
113
+ " #{@shipping_amount.inspect}, taxes: #{@taxes.inspect}, product_price:"\
114
+ " #{@product_price.inspect}, subtotal: #{@subtotal.inspect}, total_amount:"\
115
+ " #{@total_amount.inspect}>"
116
+ end
117
+ end
118
+ end
@@ -11,17 +11,15 @@ module PaypalServerSdk
11
11
 
12
12
  # The date and time, in [Internet date and time
13
13
  # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
14
- # required while fractional seconds are
15
- # optional.<blockquote><strong>Note:</strong> The regular expression
16
- # provides guidance but does not reject all invalid dates.</blockquote>
14
+ # required while fractional seconds are optional. Note: The regular
15
+ # expression provides guidance but does not reject all invalid dates.
17
16
  # @return [String]
18
17
  attr_accessor :create_time
19
18
 
20
19
  # The date and time, in [Internet date and time
21
20
  # format](https://tools.ietf.org/html/rfc3339#section-5.6). Seconds are
22
- # required while fractional seconds are
23
- # optional.<blockquote><strong>Note:</strong> The regular expression
24
- # provides guidance but does not reject all invalid dates.</blockquote>
21
+ # required while fractional seconds are optional. Note: The regular
22
+ # expression provides guidance but does not reject all invalid dates.
25
23
  # @return [String]
26
24
  attr_accessor :update_time
27
25
 
@@ -38,11 +36,6 @@ module PaypalServerSdk
38
36
  # @return [CheckoutPaymentIntent]
39
37
  attr_accessor :intent
40
38
 
41
- # The intent to either capture payment immediately or authorize a payment
42
- # for an order after order creation.
43
- # @return [Object]
44
- attr_accessor :processing_instruction
45
-
46
39
  # The intent to either capture payment immediately or authorize a payment
47
40
  # for an order after order creation.
48
41
  # @return [Payer]
@@ -81,7 +74,6 @@ module PaypalServerSdk
81
74
  @_hash['id'] = 'id'
82
75
  @_hash['payment_source'] = 'payment_source'
83
76
  @_hash['intent'] = 'intent'
84
- @_hash['processing_instruction'] = 'processing_instruction'
85
77
  @_hash['payer'] = 'payer'
86
78
  @_hash['purchase_units'] = 'purchase_units'
87
79
  @_hash['status'] = 'status'
@@ -97,7 +89,6 @@ module PaypalServerSdk
97
89
  id
98
90
  payment_source
99
91
  intent
100
- processing_instruction
101
92
  payer
102
93
  purchase_units
103
94
  status
@@ -111,15 +102,13 @@ module PaypalServerSdk
111
102
  end
112
103
 
113
104
  def initialize(create_time: SKIP, update_time: SKIP, id: SKIP,
114
- payment_source: SKIP, intent: SKIP,
115
- processing_instruction: SKIP, payer: SKIP,
105
+ payment_source: SKIP, intent: SKIP, payer: SKIP,
116
106
  purchase_units: SKIP, status: SKIP, links: SKIP)
117
107
  @create_time = create_time unless create_time == SKIP
118
108
  @update_time = update_time unless update_time == SKIP
119
109
  @id = id unless id == SKIP
120
110
  @payment_source = payment_source unless payment_source == SKIP
121
111
  @intent = intent unless intent == SKIP
122
- @processing_instruction = processing_instruction unless processing_instruction == SKIP
123
112
  @payer = payer unless payer == SKIP
124
113
  @purchase_units = purchase_units unless purchase_units == SKIP
125
114
  @status = status unless status == SKIP
@@ -137,8 +126,6 @@ module PaypalServerSdk
137
126
  payment_source = PaymentSourceResponse.from_hash(hash['payment_source']) if
138
127
  hash['payment_source']
139
128
  intent = hash.key?('intent') ? hash['intent'] : SKIP
140
- processing_instruction =
141
- hash.key?('processing_instruction') ? hash['processing_instruction'] : SKIP
142
129
  payer = Payer.from_hash(hash['payer']) if hash['payer']
143
130
  # Parameter is an array, so we need to iterate through it
144
131
  purchase_units = nil
@@ -168,11 +155,27 @@ module PaypalServerSdk
168
155
  id: id,
169
156
  payment_source: payment_source,
170
157
  intent: intent,
171
- processing_instruction: processing_instruction,
172
158
  payer: payer,
173
159
  purchase_units: purchase_units,
174
160
  status: status,
175
161
  links: links)
176
162
  end
163
+
164
+ # Provides a human-readable string representation of the object.
165
+ def to_s
166
+ class_name = self.class.name.split('::').last
167
+ "<#{class_name} create_time: #{@create_time}, update_time: #{@update_time}, id: #{@id},"\
168
+ " payment_source: #{@payment_source}, intent: #{@intent}, payer: #{@payer}, purchase_units:"\
169
+ " #{@purchase_units}, status: #{@status}, links: #{@links}>"
170
+ end
171
+
172
+ # Provides a debugging-friendly string with detailed object information.
173
+ def inspect
174
+ class_name = self.class.name.split('::').last
175
+ "<#{class_name} create_time: #{@create_time.inspect}, update_time: #{@update_time.inspect},"\
176
+ " id: #{@id.inspect}, payment_source: #{@payment_source.inspect}, intent:"\
177
+ " #{@intent.inspect}, payer: #{@payer.inspect}, purchase_units: #{@purchase_units.inspect},"\
178
+ " status: #{@status.inspect}, links: #{@links.inspect}>"
179
+ end
177
180
  end
178
181
  end
@@ -5,10 +5,9 @@
5
5
 
6
6
  module PaypalServerSdk
7
7
  # Customizes the payer experience during the approval process for the payment
8
- # with PayPal.<blockquote><strong>Note:</strong> Partners and Marketplaces
9
- # might configure <code>brand_name</code> and <code>shipping_preference</code>
10
- # during partner account setup, which overrides the request
11
- # values.</blockquote>
8
+ # with PayPal. Note: Partners and Marketplaces might configure brand_name and
9
+ # shipping_preference during partner account setup, which overrides the
10
+ # request values.
12
11
  class OrderApplicationContext < BaseModel
13
12
  SKIP = Object.new
14
13
  private_constant :SKIP
@@ -44,22 +43,21 @@ module PaypalServerSdk
44
43
  # @return [OrderApplicationContextLandingPage]
45
44
  attr_accessor :landing_page
46
45
 
47
- # DEPRECATED. DEPRECATED. The shipping preference:<ul><li>Displays the
48
- # shipping address to the customer.</li><li>Enables the customer to choose
49
- # an address on the PayPal site.</li><li>Restricts the customer from
50
- # changing the address during the payment-approval process.</li></ul>. The
51
- # fields in `application_context` are now available in the
52
- # `experience_context` object under the `payment_source` which supports them
53
- # (eg. `payment_source.paypal.experience_context.shipping_preference`).
54
- # Please specify this field in the `experience_context` object instead of
55
- # the `application_context` object.
46
+ # DEPRECATED. DEPRECATED. The shipping preference: Displays the shipping
47
+ # address to the customer. Enables the customer to choose an address on the
48
+ # PayPal site. Restricts the customer from changing the address during the
49
+ # payment-approval process. . The fields in `application_context` are now
50
+ # available in the `experience_context` object under the `payment_source`
51
+ # which supports them (eg.
52
+ # `payment_source.paypal.experience_context.shipping_preference`). Please
53
+ # specify this field in the `experience_context` object instead of the
54
+ # `application_context` object.
56
55
  # @return [OrderApplicationContextShippingPreference]
57
56
  attr_accessor :shipping_preference
58
57
 
59
- # DEPRECATED. Configures a <strong>Continue</strong> or <strong>Pay
60
- # Now</strong> checkout flow. The fields in `application_context` are now
61
- # available in the `experience_context` object under the `payment_source`
62
- # which supports them (eg.
58
+ # DEPRECATED. Configures a Continue or Pay Now checkout flow. The fields in
59
+ # `application_context` are now available in the `experience_context` object
60
+ # under the `payment_source` which supports them (eg.
63
61
  # `payment_source.paypal.experience_context.user_action`). Please specify
64
62
  # this field in the `experience_context` object instead of the
65
63
  # `application_context` object.
@@ -91,16 +89,14 @@ module PaypalServerSdk
91
89
 
92
90
  # Provides additional details to process a payment using a `payment_source`
93
91
  # that has been stored or is intended to be stored (also referred to as
94
- # stored_credential or card-on-file).<br/>Parameter
95
- # compatibility:<br/><ul><li>`payment_type=ONE_TIME` is compatible only with
96
- # `payment_initiator=CUSTOMER`.</li><li>`usage=FIRST` is compatible only
97
- # with
98
- # `payment_initiator=CUSTOMER`.</li><li>`previous_transaction_reference` or
92
+ # stored_credential or card-on-file). Parameter compatibility:
93
+ # `payment_type=ONE_TIME` is compatible only with
94
+ # `payment_initiator=CUSTOMER`. `usage=FIRST` is compatible only with
95
+ # `payment_initiator=CUSTOMER`. `previous_transaction_reference` or
99
96
  # `previous_network_transaction_reference` is compatible only with
100
- # `payment_initiator=MERCHANT`.</li><li>Only one of the parameters -
97
+ # `payment_initiator=MERCHANT`. Only one of the parameters -
101
98
  # `previous_transaction_reference` and
102
- # `previous_network_transaction_reference` - can be present in the
103
- # request.</li></ul>
99
+ # `previous_network_transaction_reference` - can be present in the request.
104
100
  # @return [StoredPaymentSource]
105
101
  attr_accessor :stored_payment_source
106
102
 
@@ -189,5 +185,24 @@ module PaypalServerSdk
189
185
  cancel_url: cancel_url,
190
186
  stored_payment_source: stored_payment_source)
191
187
  end
188
+
189
+ # Provides a human-readable string representation of the object.
190
+ def to_s
191
+ class_name = self.class.name.split('::').last
192
+ "<#{class_name} brand_name: #{@brand_name}, locale: #{@locale}, landing_page:"\
193
+ " #{@landing_page}, shipping_preference: #{@shipping_preference}, user_action:"\
194
+ " #{@user_action}, payment_method: #{@payment_method}, return_url: #{@return_url},"\
195
+ " cancel_url: #{@cancel_url}, stored_payment_source: #{@stored_payment_source}>"
196
+ end
197
+
198
+ # Provides a debugging-friendly string with detailed object information.
199
+ def inspect
200
+ class_name = self.class.name.split('::').last
201
+ "<#{class_name} brand_name: #{@brand_name.inspect}, locale: #{@locale.inspect},"\
202
+ " landing_page: #{@landing_page.inspect}, shipping_preference:"\
203
+ " #{@shipping_preference.inspect}, user_action: #{@user_action.inspect}, payment_method:"\
204
+ " #{@payment_method.inspect}, return_url: #{@return_url.inspect}, cancel_url:"\
205
+ " #{@cancel_url.inspect}, stored_payment_source: #{@stored_payment_source.inspect}>"
206
+ end
192
207
  end
193
208
  end
@@ -13,13 +13,20 @@ module PaypalServerSdk
13
13
  # `application_context` object.
14
14
  class OrderApplicationContextLandingPage
15
15
  ORDER_APPLICATION_CONTEXT_LANDING_PAGE = [
16
- # TODO: Write general description for LOGIN
16
+ # When the customer clicks PayPal Checkout, the customer is redirected to
17
+ # a page to log in to PayPal and approve the payment.
17
18
  LOGIN = 'LOGIN'.freeze,
18
19
 
19
- # TODO: Write general description for BILLING
20
+ # When the customer clicks PayPal Checkout, the customer is redirected to
21
+ # a page to enter credit or debit card and other relevant billing
22
+ # information required to complete the purchase.
20
23
  BILLING = 'BILLING'.freeze,
21
24
 
22
- # TODO: Write general description for NO_PREFERENCE
25
+ # When the customer clicks PayPal Checkout, the customer is redirected to
26
+ # either a page to log in to PayPal and approve the payment or to a page
27
+ # to enter credit or debit card and other relevant billing information
28
+ # required to complete the purchase, depending on their previous
29
+ # interaction with PayPal.
23
30
  NO_PREFERENCE = 'NO_PREFERENCE'.freeze
24
31
  ].freeze
25
32